Advertisement

C++面向对象的多态特性(第二部分)

阅读量:

一、纯虚函数和抽象类
在多态机制中,父类所定义的虚函数往往不具备实际意义,其主要作用在于被子类覆盖后使用。因此,可以将此类虚函数转化为纯虚函数形式。
纯虚函数的定义方式为:virtual 返回值类型 函数名(参数列表)= 0;
一旦某个类中包含纯虚函数,则该类被归类为抽象类。
抽象类具有以下特性:
1、不能直接创建该类的对象实例;
2、若子类未对抽象类中的所有纯虚函数进行重写,则该子类同样被视为抽象类。
示例:

复制代码
    class Base
    {
    public:
    //纯虚函数
    //类中只要有一个纯虚函数就称为抽象类
    //抽象类无法实例化对象
    //子类必须重写父类中的纯虚函数,否则也属于抽象类
    virtual void func() = 0;
    };
    class Son :public Base
    {
    public:
    virtual void func()
    {
    cout << "func调用" << endl;
    };
    };
    void test01()
    {
    Base * base = NULL;
    //base = new Base; // 错误,抽象类无法实例化对象
    base = 

全部评论 (0)

还没有任何评论哟~