第十二周 阅读项目 (5)
时间:2015-06-02 09:31:40
收藏:0
阅读:128
阅读下面类的定义,请说出在测试函数中不同情况的调用产生的结果
(a)
你认为输出结果是:__________ ____________
运行程序的结果是:______________________

(a)
你认为输出结果是:__________ ____________
运行程序的结果是:______________________
(b)
程序会发生编译错误,原因是:__________
记录下IDE中提示的错误并理解:_________
程序会发生编译错误,原因是:__________
记录下IDE中提示的错误并理解:_________
只能用子类对象对基类对象赋值,而不用基类对象对其子类对象赋值。
同一基类的不同派生类对象之间也不能赋值。
(c)
将会发生错误的一行删除;
对余下的程序,你认为输出是:__________
实际运行的输出是:____________________
那一行的错误原因是:__________________
(c)
将会发生错误的一行删除;
对余下的程序,你认为输出是:__________
实际运行的输出是:____________________
那一行的错误原因是:__________________
删除后运行结果:
(d)
将会发生错误的一行删除;
对余下的程序,你认为输出是:__________
实际运行的输出是:____________________
那一行的错误原因是:__________________
(e)
在class A中增加成员函数:
在main函数前增加一般函数:
main函数中指定部分为:
你认为输出结果是:______________________
运行程序的结果是:______________________
补充阅读
运行结果:
总体来说,结合了组合和继承的c++类中,构造函数和析构函数的调用顺序具有以下规律:
1、对于继承:如果有基类,首先构造指定类的基类;
2、对于组合:按照嵌入的成员对象的声明顺序构造它们,成员对象构造完成后再构造封装它们的这个类;
3、构造和析构本身依赖于压栈和出栈,因此析构函数的函数的调用应该遵循栈的特性,以“后进先出”为原则——析构函数的调用与构造函数完全相反,先构造的后析构,后构造的先析构;
原文:http://blog.csdn.net/wh201458501106/article/details/46316205
评论(0)