请你回答一下为什么析构函数必须是虚函数?为什么C++默认的析构函数不是虚函数
考点:虚函数 析构函数
参考回答:
C++默认的析构函数不是虚函数是因为虚函数需要额外的虚函数表和虚表指针,占用额外的内存。而对于不会被继承的类来说,其析构函数如果是虚函数,就会浪费内存。因此C++默认的析构函数不是虚函数,而是只有当需要当作父类时,设置为虚函数。
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题