是的,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
对象。构造函数可以接受一个参数,该参数可以是其他同类型对象的值,从而实现对已有对象的拷贝初始化。