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<display();
}
int main()
{
	/*Base1 a;*/
	Base2 b;
	derived c;
	//fun(&a);
	fun(&b);
	fun(&c);
	system("Pause");
	return 0;
}