zoukankan      html  css  js  c++  java
  • c++语言 纯虚函数的使用

    //纯虚函数
    //在基类中预留出一个成员函数名,此函数并不是为自己所用,而是派生类需要使用,具体功能由派生类根据实际情况重新进行定义.
    //virtual 函数类型 函数名称(参数列表) = 0;
    //纯虚函数是没有函数体的,也就是说在基类中不需要对纯虚函数进行定义
    //最后面的"=0"并不是表示函数的返回值为0,它只是起形式上的作用,用来说明这个虚函数是纯虚函数
    //这是一条声明语句,所以在句子的最后要加";"号
    
    //纯虚函数只有函数的名称而不具备函数的功能,只是为了派生类的特殊功能调用保留函数的名称.
    //如果在一个类中声明纯虚函数,而在派生类中却没有重新对该函数进行定义,则纯虚函数在派生类中仍然为纯虚函数.
    
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    class CSubject
    {
    public:
        virtual void display() = 0;
    };
    class CChinese:public CSubject
    {
    public:
        virtual void display();
    };
    void CChinese::display()
    {
        cout << "This is Chinese"<< endl;
    }
    class CMath:public CSubject
    {
    public:
        virtual void display();
    };
    void CMath::display()
    {
        cout << "This is Math" << endl;
    }
    class CEnglish:public CSubject
    {
    public:
        virtual void display();
    };
    void CEnglish::display()
    {
        cout << "This is English" << endl;
    }
    
    int main(int argc, char * argv[])
    {
        CSubject *p;
        CChinese chinese;
        CMath math;
        CEnglish english;
        p = &chinese;
        p->display();
        p = &math;
        p->display();
        p = &english;
        p->display();
    
        return 0;
    }
  • 相关阅读:
    读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第三部分)
    Spring Boot进阶系列一
    职场进阶之七种武器
    大龄IT程序员的救赎之道
    Web Service
    生产者消费者问题
    SpringBoot集成Apache Shiro
    简单模拟医院叫号系统
    IT小团队管理者的突围之道
    内部推荐
  • 原文地址:https://www.cnblogs.com/pythonschool/p/2758908.html
Copyright © 2011-2022 走看看