Part8 多态性 8.3抽象类

纯虚函数
  纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本。

抽象类
  带有纯虚函数的类称为抽象类

注意:
  抽象类只能作为基类来使用。
  不能定义抽象类的对象。

 

//8-6抽象类举例
#include<iostream>
using namespace std;
class Base1{
public:
    virtual void display() const = 0;    //纯虚函数
};

class Base2:public Base1{
public:
    virtual void display() const;    //    覆盖基类的虚函数
};
void Base2::display() const{
    cout << "Base2::display()" << endl;
}

class Derived: public Base2{
public:
    virtual void display() const;    //覆盖基类的虚函数
};
void Derived::display() const{
    cout << "Derived::dispaly()" << endl;
}

void fun(Base1 *ptr){
    ptr->display();
}
int main(){
    Base2 base2;
    Derived derived;
    fun(&base2);
    fun(&derived);
    return 0;
}

 

posted @ 2017-12-26 14:11  LeoSirius  阅读(94)  评论(0编辑  收藏  举报