作业帮 > 综合 > 作业

C++构造函数问题:假定AB为一个类,则执行“AB a (4),b[3],*p”语句时,自动调用该类构造函数的次数为4

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/09 04:51:31
C++构造函数问题:假定AB为一个类,则执行“AB a (4),b[3],*p”语句时,自动调用该类构造函数的次数为4
请解释一下这里调用构造函数次数是4是怎么算出来的!还有就是类的对象a(4),b[3],*p这三个的含义分别是什么意思啊,它们怎么使用!现在急着要知道,
只有给对象分配内存才调用构造函数
AB a(4) 定义对象a, 调用了带一个参数的构造
AB b[3] 跟上面的性质类似, 定义对象数组,调用无参构造
AB *p这至是一个指针,没有指向任何空间,更么有分配内存,不会调构造
AB *p = new AB 这样就会调用构造了(分配内存)
再问: 那自动调用该类的构造函数的次数是4是怎么算出来的?是不是AB a(4)调用一次构造函数,AB b[3]调用三次构造函数?
再答: 非常正确,b[3]逻辑上跟单独分配3个对象是一样的