본문 바로가기
프로그래밍/C++

함수 오버라이딩(overriding)

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



오버로딩과 비슷한 그 이름

오버라이딩,

하지만 엄연히 틀리다.

한글로 표현하자면, 음,

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

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

#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()
}​


크게 어려운 부분은 없다.

'프로그래밍 > C++' 카테고리의 다른 글

가상 복사 생성자  (0) 2010.04.03
virtual(가상)  (0) 2010.04.03
객체 레퍼런스  (0) 2010.04.03
객체 포인터  (2) 2010.03.29
IS-A, HAS-A 관계  (1) 2010.03.27