将下面的程序补充完整,使程序输出的结果为:

100,71

表达式 p1.p==p2.p的值为1





【正确答案】:

(1)POINTER(CONST POINTER &TEMP)

(2)”表达式P1.P==P2.P的值为”<<(P1.P==P2.P)


【题目解析】:

(1)main函数里 pointer p2(p1); 很显然调用复制构造函数,用p1初始化p2对象,复制构造函数要求形参是pointer类对象的引用,if(this!=&temp) 提醒我们形参是temp。

(2)cout输出语句根据运算结果要求:首先输出”表达式p1.p==p2.p的值为”字符串,然后判断p1.p和p2.p是不是指向同一个位置,很显然,通过调用复制构造函数,p1.p和p2.p是指向同一个位置的。