C++抽象类

纯虚函数:纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本

virtual 函数类型 函数名(参数表)=0;//等于0表示没有函数体

带有纯虚函数的类称为抽象类,不可实例化

抽象类的作用:将有关的数据和行为组织在一个继承层次结构中,保证派生类具有要求的行为。对应暂时无法实现的函数,可以声明为纯虚函数,留给派生类去实现。

需要注意的是,抽象类只能作为基类来使用,不能定义抽象类的对象。当抽象类的派生类实现了继承而来的纯虚函数后才能实例化对象。

#include "stdafx.h"
using namespace std;
class Base1
{
public:
	virtual void display()=0;//不需要再基类中给出函数的函数体
};

class Base2:public Base1
{
public:
	virtual void display();
};
void Base2::display()
{
	cout<<"Base2::display()"<display();
}
int main()
{
	/*Base1 a;*/
	Base2 b;
	derived c;
	//fun(&a);
	fun(&b);
	fun(&c);
	system("Pause");
	return 0;
}

 

你可能感兴趣的:(C++,从零开始学习C++)