프로그래밍/C++

함수 오버라이딩(overriding)

리뷰하는 (게임)프로그래머_리프TV 2010. 4. 3. 12:49



오버로딩과 비슷한 그 이름

오버라이딩,

하지만 엄연히 틀리다.

한글로 표현하자면, 음,

오버로딩 = 함수 중복 정의?
오버라이딩 = 함수 재 정의?

정도로 표현 할 수 있을까 모르겠다.

#include <iostream>

class AA
{
public:
	void ShowData(){std::cout << "Class A ShowData()" << std::endl;}
};

class BB : public AA
{
public:
	// AA에 showData()는 오버라이딩 되었다.
	void ShowData(){std::cout << "Class B ShowData()" << std::endl;}
};

void main()
{
	AA a;	// AA객체의 a인스턴스
	BB b;	// BB객체의 b인스턴스
	a.ShowData();	// AA에 ShowData()를 불러 오지만.
	b.ShowData();	// BB에서 오버라이딩을 통해 BB의 ShowData()를 불러 온다.
// 결과
// Class A ShowData()
// Class B ShowData()
}​


크게 어려운 부분은 없다.