Heim  >  Fragen und Antworten  >  Hauptteil

c++ - 析构函数和构造函数

请大神解释下为什么通常析构函数有virtual,而构造函数为什么不能是virtual,最好结合例子说明下作用,O(∩_∩)O谢谢

大家讲道理大家讲道理2764 Tage vor507

Antworte allen(2)Ich werde antworten

  • 怪我咯

    怪我咯2017-04-17 12:03:40

    不想写了,给你找两个贴子吧

    • 为什么构造函数不能为虚函数
    • C++中虚析构函数的作用

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-17 12:03:40

    首先假设你知道虚函数的作用。。

    在每次调用构造函数的时候,你和编译器都会明确的知道当前将要构造的数据类型,然后在构造函数里又会一次调用基类构造函数

    在调用析构函数的时候,如果当前指针是一个基类指针,那么你和编译器将不能分辨出指针指向的空间是基类对象还是某个派生类,这时候就需要运行时去虚函数表里面查看到底需要调用哪个析构函数

    Antwort
    0
  • StornierenAntwort