码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-11-10 19:43:44      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   sp   div   问题   log   bs   as   

引言:

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

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析构函数

标签:style   blog   color   sp   div   问题   log   bs   as   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!