当前位置:   article > 正文

C++ --类的默认成员函数是否可以被定义为虚函数_类成员函数可以是虚函数么

类成员函数可以是虚函数么
1.静态成员函数不能定义为虚函数

1.因为静态成员函数没有this指针,并且静态成员函数可以通过类名来访问。
2.又因为虚函数是放在对象的虚表里面的,同一个类中的所有对象虽然共用同一张虚表,但是类名无法找到虚表。

2.内联函数不能定义为虚函数

因为内联函数没有地址,而虚表里面存放的就是虚函数的地址。

3.构造函数不能定义为虚函数

1.因为虚函数是存放在对象的虚表里面,如果将构造函数定义为虚函数,则构造函数也必须存放在虚表里面,但是此时对象都还没有创建也就没有所谓的虚表。
2.不将构造函数定义为虚函数,对象模型如下:
这里写图片描述
3.如果将构造函数定义为虚函数:(直接会编译错误)
这里写图片描述

4.尽量不要将oper
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/731458
推荐阅读
相关标签
  

闽ICP备14008679号