pro*_*eve 0 c++ constructor copy-constructor
#include <iostream>
using namespace std;
class tester {
public:
int a;
tester( int x ) {
a = x;
}
tester( tester &t ) {
cout << t.a;
}
};
int main() {
tester t(10);
tester t_1(t);
}
output : 10
Run Code Online (Sandbox Code Playgroud)
在复制构造函数的定义中t引用了什么?从main传入t参数时t_1,它的地址被存储在&t复制构造函数的表单中.什么t.a意思?
它是对现有对象的引用,该对象被复制以构造新对象.期望复制构造函数t根据需要读取相关字段.
在您的示例中,您可能希望a像这样复制字段:
tester( tester &t ) {
cout << t.a;
a = t.a;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |