c++

1. 若MyClass是一个类名,其有如下语句序列:



MyClass c1,*c2;
MyClass *c3=
new MyClass;
MyClass &c4=c1;
上面的语句序列调用构造函数个数是2。

解析:
c1要调用一次构造函数;
c2只是一个指针,用来动态描述对象,不会调用类的构造函数;
c3的右边新创建一个对象会调用构造函数。但是注意,这里的赋值运算符不是类中的赋值运算符,而是普通的赋值运算符;
c4是一个对象引用,是c1的一个别名,所以不会调用构造函数。
2. A为一个类,则执行A (4),b[4],*p[5];后,调用构造函数的次数为:5
解析:AB a(4);是声明一个AB类对象a,并用4初始化a,因为只声明了一个对象,所以执行构造函数1次。
           b[4];是声明一个AB类的对象数组,有4个元素(就是有4个对象),所以要调用4次构造函数。
          *p[5];是声明一个5元素数组p,每个元素都是AB类对象的指针;指针并不是对象,因没有创建对象,所以不执行构造函数。最终一共执行了5次构造函数。
3.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值