C++中 复制构造函数举例
时间: 2023-11-14 18:16:46 浏览: 90
好的,让我来回答你的问题。在C++中,复制构造函数是一种特殊的构造函数,用于创建一个新对象并将其初始化为已有对象的副本。这个函数将在以下情况下调用:1.当使用一个对象来初始化另一个同类型的新对象时;2.当传递一个对象作为参数给函数,并在函数内部复制它时。下面是一个使用C++复制构造函数的示例:
```
#include <iostream>
using namespace std;
class MyClass{
private:
int x;
public:
MyClass(int a)
{
x = a;
}
MyClass(const MyClass& obj)
{
x = obj.x;
cout << "复制构造函数被调用" << endl;
}
void showData()
{
cout <<"x = "<< x<<endl;
}
};
int main()
{
MyClass obj1(10);
MyClass obj2 = obj1; //使用对象1初始化对象2
obj1.showData();
obj2.showData();
return 0;
}
```
在上面的代码中,我们定义了一个名为MyClass的类,并为它编写了一个复制构造函数。在main函数中,我们创建了两个MyClass对象。在创建对象obj2时,我们使用了obj1来初始化它,这将自动调用复制构造函数将obj1复制到obj2中。输出结果如下:
```
复制构造函数被调用
x = 10
x = 10
```
我希望这个例子对你有所帮助。如果你还有其他的问题,请继续问我。
阅读全文