컴파일러가 계속됩니다 'class A' has no member named 'foo'.
포인터를 사용하여 파생 클래스의 함수를 사용하려고합니다. 내가 컴파일러 오류가 발생하고기본 클래스에서 포인터로 C++ 액세스 파생 클래스
Table[j]->foo()
을하려고 할 때 내가 Table
와 이름 A
포인터의 테이블이
class A{
.....
};
class B:public A{
virtual void foo() = 0;
};
class C:public B{
....
public:
void foo(){
....
}
};
: 여기 내 코드입니다.
캐스트 이외의 경우 어떻게해야합니까?
가 A''에 순수 가상 함수를 이동 인쇄 할 수 있나요? 이것이 실제로 다형 적으로 사용하려고 시도하는 유형입니다. – StoryTeller
'A' 클래스에는'foo()'라는 멤버 함수가 없기 때문에. –
하지만 클래스 B가 foo() 함수를 갖고 싶지 않다. – Jokk