Programming/기초

추상 클래스 , 인터페이스

KingSSSSS 2018. 5. 26. 19:18
class A {// 추상 클래스
public:
	virtual void test() = 0;
	void sand();
};
 
class I {// 인터페이스
public:
	virtual void test() = 0;
	virtual void sand() = 0;
};
 
class B : public A
{
public:
	virtual void test() {
 
	};
};
 
class C : public I
{
public:
	virtual void test() {
 
	};
	virtual void sand() {
 
	}
};
 
int main()
{
	A AAA;// 단독으로 객체를 생성하지 못한다
	I III;// 단독으로 객체를 생성하지 못한다
	B BBB;// 생성
	C CCC;// 생성
	/*
	추상 클래스는 순수 가상함수가 하나라도 포함된 클래스이다
	인테페이스는 추상 클래스이다
	추상 클래스틑 단독으로 객체를 생성 할수 없고 추상 클래스를 상속 받은 클래스만이 객체를 생성할수있다
	상속 받은 클래스에서 순수 가상함수는 재정의를 꼭 해야한다 하지 않으면 객체를 생성할수 없다는 컴파일 에러가난다
	*/
}