首页 > 其他 > 详细

[007]为多态基类声明virtual析构函数

时间:2014-11-10 19:42:52      阅读:257      评论:0      收藏:0      [点我收藏+]

引言:

    我们都知道类的一个很明显的特性是多态,比如我们声明一个水果的基类:

class Fruit {
public:
    Fruit() {};
    ~Fruit(){};
}

   那么我们根据这个Fruit基类可以派生出以下的子类:

   class Apple:public Fruit{};
   class Orange:public Fruit{};

那么问题来了,如果我们想经由一个基类指针去删除一个派生类Apple,且我们有以下的方法

Fruit * foo(){
       Apple * p = new Apple();
       return p; // 子转父,大丈夫
}

接下来似乎顺理成章,我们只需要完成以下的main函数即可了。

int main() {
        A *p = foo();
        delete p;
        return 0;
}

 

[007]为多态基类声明virtual析构函数

原文:http://www.cnblogs.com/hustcser/p/4087787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!