mfc应用程序,从cview派生类的Cmyview肯定构造了一个对象,那么内存中有没有cview对象呢

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:43:32
Cmyview构造函数调用肯定会调用基类构造函数,但是并没有构造基类对象是吗

由于Cmyview是继承CView,则按C++语法和正确的逻辑,在实例化Cmyview时,先调用其父类构造函数,然后再调用Cmyview的构造函数,这样实例化的对象才能确保是正确的。假如就只有这两级,即假定CView已经是根类了,则:
Cmyview m; // 依次调用了CView的构造函数及Cmyiew的构造函数,但是只有类型为Cmyview的一个对象产生。

构造函数的调用可以一直追溯到其根类,则有多少层次,就会有多少构造函数被调用,调用顺序是从根类开始,直到最后的派生类构造函数结束;析构则刚好相反。

你要清晰这样的概念:

并非调用一次构造函数就要生成一个对象,而是生成一个对象必须至少有一个构造函数被调用。