#include <iostream>
using namespace std;
class A{
public :
virtual void initialize(){
cout<<"base initialize"<<endl;
}
virtual float integrate(float dt){ return 0;}
};
class B : public A{
public :
void initialize(){
}
static float integrate(float dt){
cout<<"derived initialize"<<endl;
}
};
int main(){
B derived;
A* pBase= &derived;
pBase->initialize(); //A 클래스의 initialize() 가 호출된다
return 0;
}
B 의 static float integrate(float dt) ==> float integrate(float dt) 로 고치면 당연히 B 의 initialize() 가 호출된다
반응형
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
ostream cout 새로운 타입 출력을 위한 간단 오버로딩 (0) | 2012.11.01 |
---|---|
GetAsyncKeyState 해당키가 눌렸는지 때졌는지 상태 여부 (0) | 2012.11.01 |
C++ 캐스팅 dynamic_cast, reinterpret_cast, static_cast (0) | 2012.11.01 |
부동소수점과 다른 형과의 변환을 사용하는 이유 (0) | 2012.11.01 |
DWORD -> float 로 변환과 그 역 (0) | 2012.11.01 |