c++拷贝构造函数是怎么调用的

2024-11-24 20:33:47
推荐回答(2个)
回答1:

有以下几种情况:

class MyClass
{
    MyClass(){}
    MyClass(const MyClass&){}
};
//1. 你自定义的类通过按值传递传给一个函数
void MyFunc(MyClass myclass); //调用这个函数会调用拷贝构造函数

//2. 你想通过已有的类的一个对象来创建另一个对象
MyClass myclass1;
MyClass myclass2(myclass1);//这里会调用拷贝构造函数

//3. 当你用到容器(例如vector)需要向容器中增加元素的时候
vector v;
MyClass myclass;
v.push_back(myclass); //这里调用拷贝构造函数

回答2:

产生对象的时候系统自动调用