A-A+

有以下程序: classDate { public: Date(inty intm intd

2022-08-06 01:36:18 问答库 阅读 174 次

问题详情

有以下程序: classDate { public: Date(inty,intm,intd); { year=Y: month=m; day=d; } Date(inty=2000) { year=y; month=10; day=1; } Date(Date&d)
{ year=d.year; month=d.month; day=d.day; } voidprint() { cout$amp;A.2
B.3
C.4
D.5请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
B。【解析】本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第1次是在执行语句Datedate3(date1)时,用已经建立的对象date1对正在建立的对象date3进行初始化;第2次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第3次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了拷贝构造函数。

考点:程序