부모 포인터가 하위 클래스 대상을 가리킬 때 함수 호출
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;
}
부모 포인터는 하위 클래스의 실례 대상을 가리키며, 일반적인 재작성 함수를 호출할 때, 부모 클래스의 함수를 호출합니다.이불 클래스를 호출하여 허 함수를 다시 쓸 때 하위 클래스의 함수를 호출합니다.
다시 한 번 설명하자면 하위 클래스에서 다시 쓴 허함수의 운행 방식은 동적 귀속된 것으로 현재 클래스 실례를 가리키는 부모 포인터 형식과 상관없이 클래스 실례 대상 자체와만 관련이 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.