类中的函数分类与虚函数的原理

来源:互联网 发布:怎么清除dnf异常数据 编辑:程序博客网 时间:2024/06/06 05:52
类中函数分为3类:
构造函数:不可以虚化(重写),在子类的构造函数前自动被调用一次父类的构造函数.
析构函数:当[DELETE]类指针时 非虚会从[此类]一直释放到基类,为虚时会从被赋于的[NEW类]的析构函数一直释放到基类.
         总得来说释放[方向]都是从[子类]到[父类],只是开始释放的位置不一样.这就是为什么基类的析构函数要虚化的原因.

普通函数:为虚时表示派生类可以[重写]这个函数,

         以下的关系是A派生B派生C

         如[虚 A::F]     [虚 B::F]            [虚 C::F]           当 A* a = NEW C; a->F()是C类的.
         如[虚 A::F]     [B类中不重写] [虚 C::F]           当 A* a = NEW C; a->F()是C类的.
         如[虚 A::F]     [虚 B::F]            [C类中不重写]当 A* a = NEW C; a->F()是B类的.
         如[虚 A::F]     [C类中不重写] [C类中不重写]当 A* a = NEW C; a->F()是A类的.

         如[非虚 A::F] [非虚 B::F]        [非虚 C::F]       当 A* a = NEW C; a->F()是A类的.

具体工程代码教程可以在这里下载: 下载地址

原创粉丝点击