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

#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


犇扠謌
浏览 1206回答 1
1回答

onemoo

只有构造函数里有输出语句,你一共创建了p1 p2 p3这三个对象,当然只会输出三次啊:在构造p1和p2时分别输出10 10, 然后p2将自己的成员x加到12,最后构造p3时输出12。 没错啊?!
打开App,查看更多内容
随时随地看视频慕课网APP