36 lines
586 B
C++
36 lines
586 B
C++
// 构造函数的分类与调用
|
||
// 拷贝构造函数
|
||
#include <iostream>
|
||
|
||
using namespace std;
|
||
|
||
class A
|
||
{
|
||
|
||
public:
|
||
int x;
|
||
|
||
public:
|
||
A() {}
|
||
A(A &other) // 拷贝构造函数
|
||
{
|
||
this->x = other.x;
|
||
}
|
||
};
|
||
|
||
int main()
|
||
{
|
||
A a1; // 调用无参的构造函数进行初始化 a1 对象
|
||
a1.x = 10;
|
||
cout << "a1 x = " << a1.x << endl;
|
||
|
||
A a2(a1); // 使用拷贝构造
|
||
cout << "a2 x = " << a2.x << endl;
|
||
|
||
A *a3 = new A(); // 使用指针和new,在堆空间创建对象
|
||
// a3->x = 20;
|
||
cout << "a3 x = " << a3->x << endl;
|
||
|
||
return 0;
|
||
}
|