#include <iostream>
using namespace std;
class point
{ public :
point(int a) { x = a; cout << x << endl; }
point(point & p) { x = p.x; cout << x << endl; }
void addx(int a) { x += a; }
private :
int x;
};
int main()
{
point p1(10), p2(p1);
p2.addx(2);
point p3 = p2;
system("pause");
return 0;
}
结果是 10 10 12 为什么不是10 10 12 12
1 回答
onemoo
TA贡献883条经验 获得超454个赞
只有构造函数里有输出语句,你一共创建了p1 p2 p3这三个对象,当然只会输出三次啊:
在构造p1和p2时分别输出10 10, 然后p2将自己的成员x加到12,最后构造p3时输出12。 没错啊?!
- 1 回答
- 1 关注
- 1199 浏览
添加回答
举报
0/150
提交
取消