• C++开发系列-纯虚函数和抽象类


    概念

    纯虚函数和抽象类

    • 纯虚函数是一个在基类中说明的虚函数,在基类中没有定义,要求任何派生类都实现该函数。
    • 纯虚函数为各派生类提供了一个公共界面(接口的封装和设计、软件的模块功能的划分)

    纯虚函数说明的形式

    一个具有纯虚函数的基类称之为抽象类。

    抽象类可以声明抽象类指针,通过抽象类指针调用子类的方法,类似java的接口。但是不可以实例化对象。

    定义一基类Person

    #ifndef Person_hpp
    #define Person_hpp
    
    #include <stdio.h>
    
    class Person // 抽象类
    {
    public:
        virtual void run() = 0; // 纯虚函数
        virtual void eat() = 0;
    };
    #endif /* Person_hpp */
    

    定义一个Teacher类集成Person类,实现Person的虚构函数

    /**-------------------------Teacher.h--------------------------*/
    #include <stdio.h>
    #include "Person.hpp"
    class Teacher: public Person
    {
    public:
        virtual void run();
        virtual void eat();
        
    private:
        char *name;
    };
    
    /**-------------------------Teacher.cpp--------------------------*/
    #include "Teacher.hpp"
    
    void Teacher::run(){
        printf("Teacher----------run
    ");
    }
    
    void Teacher::eat()
    {
        printf("Teacher----------eat
    ");
    }
    

    抽象类的使用

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        // 抽象类指针指向子类的示例
        Person *p = new Teacher();
        p->eat(); // 通过抽象类指针调用子类示例的方法
        p->run();
        
    }
    
  • 相关阅读:
    Hihocoder-小Hi的烦恼
    Python包下载与离线安装
    Shell输出颜色设置
    MySQL主从配置
    MySQL初始化与用户配置
    [转]常用 GDB 命令中文速览
    搭建github静态博客
    树莓派上手
    vim安装与配置
    数组,看了你就懂了!
  • 原文地址:https://www.cnblogs.com/CoderHong/p/9121725.html
Copyright © 2020-2023  润新知