C++中的virtual关键字【代码示例】

2019-10-21  本文已影响0人  锋之律
#include <iostream>

using namespace std;

// 基类A
class A{
public:
    virtual ~A(){}; // 定义基类的虚析构函数,若不定义该函数,则会出现警告信息
    virtual void display(){  cout<<"A"<<endl; } // 虚函数display()
};

// 派生类B 
class B :  public A{
public:
    void display(){ cout<<"B"<<endl; }
};

void doDisplay(A *p)    // 定义基类指针
{
    p->display();   // 当函数参数为new B()时,定义的基类指针指向派生类,此时需要定义基类虚析构函数
    delete p;
}
 
int main()
{
    doDisplay(new B());
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读