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