zoukankan      html  css  js  c++  java
  • 不要在构造和析构函数中调用虚函数

    构造函数中不能有虚函数的原因:

    原因一:基类构造期间虚函数不会下降到派生类阶段,也就是本身我们声明一个派生类对象,它应该先去调用基类的构造,若此时基类构造里面有虚函数,则这个虚函数是基类的虚函数,而不是继而到派生类里的虚函数。(即:要求使用对象内部尚未初始化的成分。。。错误的)

    原因二:在派生类构造的基类对象期间,对象类型是基类而不是派生类,派生类的专属成分并未被初始化。对象在派生类构造开始之前不会是一个派生类对象。

    在构造和析构函数中不要用虚函数,因为这类函数调用不会下降至派生类。

    也就是避免使用初期未成熟的派生类对象的未初始化成员变量。

  • 相关阅读:
    iOS数据持久化的方式
    Runtime
    <02>
    <01>
    <02>
    UIActivityIndicatorView
    <01>数据存储
    UI<10>
    UI<09>
    UI<08>
  • 原文地址:https://www.cnblogs.com/8335IT/p/6680051.html
Copyright © 2011-2022 走看看