问题:

[单选] 下面程序的运行结果为( )。
#include<iostream.h> class A
{
int hum;
public:
A(int i){nuln=i;}
A(A&A.{num=a.num十+;} void print(){eout(<hum;} };
void main()
A a(1),b(A.; a.print();
A print();

A . 11
B . 12
C . 21
D . 22

参考答案:C

参考解析:

本题考查考生对拷贝构造函数的掌握。因为++运算是右结合的,所以在使用a对b赋值时,b的nnm变为1,而a的nnm变为2(先赋值再自加)。

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注