나는 그것을 확장하는 하위 클래스와 하위 클래스를 가지고있다. 자식 클래스에는 부모 클래스에없는 자체 메서드가 있습니다. 즉, 기본 클래스에서 가상으로 선언하는 것은 실제로 옵션이 아닙니다.C++에서 부모 포인터에서 자식 메서드를 호출하는 방법?
class A {
public:
virtual void helloWorld();
};
class B : public A {
public:
virtual void helloWorld();
void myNewMethod();
};
그런 다음 내 구현, 난에 대한 포인터를하고 난 B로 구축 :
((B *)x)->myNewMethod();
내 질문 :
// somewhere in a .cpp file
A* x;
x = new B();
x->myNewMethod(); // doesn't work
나의 현재 솔루션을 캐스팅하는 것입니다 이 일을하는 더 깨끗한 방법이 있습니까, 아니면 갈 길을 캐스팅하고 있습니까?