zoukankan      html  css  js  c++  java
  • 继承、虚函数注意点

    • 哪些函数不能被继承:

    构造函数、析构函数、拷贝构造函数、赋值操作符重载函数(赋值构造函数)

    • 哪些函数不能为虚函数:(定义虚函数一般是为了使用多态性质)

    普通函数(非成员函数):不属于类的成员,不能用于多态,只能被重载。

    静态成员函数:静态成员函数属于类的信息,被所有对象共享,不归某个对象所有,没有动态绑定的必要性。

    构造函数:

    友元函数:c++不支持友元函数的继承,因此不能在派生类中被覆盖,没有必要为虚函数

    内联成员函数:内联函数在编译阶段内联展开,减少函数调用的代价,而虚函数用于多态,在运行时才能确定具体调用哪个函数,两者不可能统一。

    赋值构造函数:虽然基类中可以将成员函数operator=定义为虚函数,但赋值构造函数要求形参类型和该类本身类型相同,因此积累中的赋值构造函数形参类型为基类类型,即使声明为虚函数,也不会执行子类的赋值操作符。

  • 相关阅读:
    phpdocumentor生成代码注释文档(linux)
    phpstorm扩展
    es教程
    康威定律
    k8s
    tidb调研
    netty 在线教程
    McQueenRPC源码阅读
    DIY一些基于netty的开源框架
    性能测试
  • 原文地址:https://www.cnblogs.com/mrlsx/p/5850989.html
Copyright © 2011-2022 走看看