为了账号安全,请及时绑定邮箱和手机立即绑定

为什么没有调用拷贝构造函数

为什么没有调用拷贝构造函数

C++
犇扠謌 2016-11-20 11:33:55
#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 反对 回复 2016-11-20
  • 1 回答
  • 1 关注
  • 1199 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信