hchchc6016 2016-04-10 12:36 采纳率: 91.2%
浏览 1475
已采纳

小白求助c++中一些关于多态的问题

1.基类的析构函数不是虚函数,在析构派生类的时候基类会不会被析构
2.基类的析构函数不是虚函数,在析构基类类的时候派生类会不会被析构
3.虚基类的析构函数是不是虚函数?

  • 写回答

2条回答 默认 最新

  • pppploi8 2016-04-10 12:56
    关注

    1.无论基类的析构函数是不是虚函数,析构派生类的时候都会调用基类析构函数
    2.如果从派生类被引用为基类然后析构,那么会导致只调用基类析构函数,而不调用派生类析构函数,所以基类析构函数应定义为虚函数
    3.虚基类是解决多重继承时基类被多次继承导致的冲突的(如BC类继承于A,D类多重继承于BC,则基类A出现了两次),与虚函数无关,虚基类的析构函数依然应该手动加上virtual关键字

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?