C++基础 -27- 纯虚函数和抽象类

一个类里面如果有纯虚函数,那么他就是抽象类
纯虚函数格式(图片+代码段)
在这里插入图片描述

virtual void show()=0;

抽象类无法被初始化
抽象类的派生类中不实例化纯虚函数也无法被初始化
C++基础 -27- 纯虚函数和抽象类_第1张图片

C++基础 -27- 纯虚函数和抽象类_第2张图片

#include "iostream"

using namespace std;


class person
{
    public:
    virtual void show()=0;

};

class newperson:public::person
{
    public:
    void show(){}
};



int main()
{
    person a;
    newperson b;
}

抽象类的特点: 设计代码的预留框架接口,让派生类去实现。
代码举例,人生三件事,还没想好做什么

C++基础 -27- 纯虚函数和抽象类_第3张图片
想好了再去实现
C++基础 -27- 纯虚函数和抽象类_第4张图片

#include "iostream"

using namespace std;


class life
{
    public:
    virtual void first_act(){}
    virtual void second_act(){}
    virtual void third_act(){}
};

class life1:public::life
{
    public:
    void first_act()
    {
        cout << "升职加薪" << endl;
    }
};

class life2:public::life
{
    public:
    void second_act()
    {
        cout << "当上总经理,出任CEO" << endl;
    }
};

class life3:public::life
{
    public:
    void third_act()
    {
        cout << "迎娶白富美,走上人生巅峰" << endl;
    }
};


int main()
{

    life1 a;
    life2 b;
    life3 c;

}

你可能感兴趣的:(C++,c++,开发语言)