假设我有以下课程:
class Test
{
int num;
public:
Test(int x):num(x){}
Test(const Test &rhs):num(rhs.num+1){}
};
int main()
{
Test test(10);
Test copy = test;
}
Run Code Online (Sandbox Code Playgroud)
将num在副本应该是11,我的问题是关于拷贝构造函数里面,我们为什么不能访问私有成员num的test使用num来初始化num的副本?令我困惑的是,如果你输入cout<<test.num<<endl,当然这是错的,因为你试图访问私有num,但如果你通过参考复制构造函数传递测试,它可以工作,任何人都可以告诉我这里发生了什么?
| 归档时间: |
|
| 查看次数: |
2374 次 |
| 最近记录: |