부모 포인터가 하위 클래스 대상을 가리킬 때 함수 호출

774 단어
class A
{
public:
 void FuncA()
 {
     printf( "FuncA called
" ); } virtual void FuncB() { printf( "FuncB called
" ); } }; class B : public A { public: void FuncA() { A::FuncA(); printf( "FuncAB called
" ); } virtual void FuncB() { printf( "FuncBB called
" ); } }; void main( void ) { B b; A *pa; pa = &b; A *pa2 = new A; pa->FuncA(); ( 3) pa->FuncB(); ( 4) pa2->FuncA(); ( 5) pa2->FuncB(); delete pa2; }

부모 포인터는 하위 클래스의 실례 대상을 가리키며, 일반적인 재작성 함수를 호출할 때, 부모 클래스의 함수를 호출합니다.이불 클래스를 호출하여 허 함수를 다시 쓸 때 하위 클래스의 함수를 호출합니다.
다시 한 번 설명하자면 하위 클래스에서 다시 쓴 허함수의 운행 방식은 동적 귀속된 것으로 현재 클래스 실례를 가리키는 부모 포인터 형식과 상관없이 클래스 실례 대상 자체와만 관련이 있다.

좋은 웹페이지 즐겨찾기