그래서 클래스를 불렀다 사람전화 확장 한 클래스 기능
class Person{
private:
public:
Person();
}
1 개 클래스 환자 내가
을 추천했습니다의 배열을 만들었습니다 지금class Patient : public Person{
private:
string text_;
public:
Patient();
void setSomething(string text){ text_ = text; }
}
Person *ppl[5];
및 5 명의 환자
ppl[0] = new Patient();
ppl[1] = new Patient();
ppl[2] = new Patient();
ppl[3] = new Patient();
ppl[4] = new Patient();
같은 배열의 각 키에 지금은이
ppl[0]->setSomething("test text");
처럼 환자 클래스에서 setSomething에게 기능 를 호출 할 그러나 나는 다음과 같은 오류가 계속 :
을class Person has no member named setSomething
무엇이 문제입니까? 컴파일러는 무엇이 잘못되었는지에 대해 매우 분명합니다. 'Person'은'setSomething' 메쏘드가 없으므로'Person'이나'Person'에 대한 포인터로 호출 할 수 없습니다. – juanchopanza
나는 Patient가 Person을 확장한다고 덧붙여서 배열의 모든 요소가 Patient 클래스에서 함수를 호출 할 수 있기 때문에 – fxuser
이 가능하다고 생각했습니다. – fxuser