是的,C++構(gòu)造函數(shù)支持拷貝初始化。在C++中,拷貝初始化可以通過以下幾種方式進(jìn)行:
class MyClass {
public:
MyClass(int x) : value(x) {}
private:
int value;
};
MyClass obj1(42); // 使用構(gòu)造函數(shù)進(jìn)行拷貝初始化
class MyClass {
public:
MyClass(int x) : value(x) {}
private:
int value;
};
MyClass obj2 = MyClass(42); // 使用成員初始化列表進(jìn)行拷貝初始化
class MyClass {
public:
MyClass(int x) : value(x) {}
private:
int value;
};
MyClass obj1(42);
MyClass obj2 = obj1; // 使用已存在的對(duì)象進(jìn)行拷貝初始化
在這些例子中,我們使用了拷貝初始化來創(chuàng)建MyClass
對(duì)象。構(gòu)造函數(shù)可以接受一個(gè)參數(shù),該參數(shù)可以是其他同類型對(duì)象的值,從而實(shí)現(xiàn)對(duì)已有對(duì)象的拷貝初始化。