//纯虚函数
//在基类中预留出一个成员函数名,此函数并不是为自己所用,而是派生类需要使用,具体功能由派生类根据实际情况重新进行定义.
//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;
}
原文链接: https://www.cnblogs.com/pythonschool/archive/2012/11/07/2758908.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/68503
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!