Base
클래스와 Derived
클래스가 있다고 가정합니다.파생 클래스의 기본 포인터
Base *A = new Base;
여기서 A는 기본 클래스에 대한 포인터 포인트이며, new
구조의 하나 있다는 점이다.
나는이 설명하는 방법
Base *B = new Derived;
를 보았다? B는
Base
클래스에 대한 포인터이고
Derived
클래스는 B? 다음, 거기에
Base
클래스, 말,
Virtual void f()
에서 파생 된 기능이며,이
Derived
클래스에서 재정의되어 있다면
B->f()
은 어느 버전의 함수를 호출합니다? 버전 Base
클래스 또는 Derived
클래스에서 재정의 된 버전
Derived
에
void g()
가 어떤 경우
는 B->g()
제대로이 함수를 호출하는 것입니다?
하나 더있다가,
int *a = new double;
또는
double *a = new int;
법적인가? 상속 Derived
이 Base
"는이다"것을 의미하기 때문에
구글은'가상이는 '가상'없는 키워드입니다 – texasbruce
을 polymorphism'. 그것은 다형성 작업을합니다. – jimifiki