#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個贊
只有構造函數里有輸出語句,你一共創(chuàng)建了p1 p2 p3這三個對象,當然只會輸出三次啊:
在構造p1和p2時分別輸出10 10, 然后p2將自己的成員x加到12,最后構造p3時輸出12。 沒錯???!
- 1 回答
- 1 關注
- 1237 瀏覽
添加回答
舉報
0/150
提交
取消