2011-02-17 1 views
0

A (Veichle), 을 호출 할 수있는 "기본"클래스를 만들고 A에서 상속 한 두 클래스를 B (자동차) 및 C (MC)를 포함한다. 나는 또한 핸들러를 가지고는 A는, B와 C 그리고 내가 가지고는 Form1 클래스는Visual ++에서 상속을 사용하여 목록 상자의 시각적 형태로 인쇄

하는 나는에에서 개인 회원을 인쇄 할 (시각)이 E를 호출 할 수 있습니다 결합 "D"를 호출 할 수 있습니다 목록 상자 시각적 형태 "E"

제가 하려고하면 예)

this-> listbox1-> 항목 -> 추가 (X.veichles을 [I] -> getBrand());

는 veichles 내가 그 주위에 얻을 수있는 방법

D.

에서 개인 구성원인지 불평?

답변

0

private은 다른 클래스에 대한 액세스가 허용되지 않는다는 것을 의미합니다.

공용 접근 기능을 만들어야합니다. 예 : GetVehicleByIndex(int idx).

코드는 다음과 같이 표시됩니다

A* pVehicle = X.GetVehicleByIndex(i); 
if (pVehicle) // assuming NULL indicates error 
    add(pVehicle->getBrand()); 
else 
    // react on error 
+0

또는 오류보고에 대한 예외를 사용하여, 그것은 간단 할 수

form1.h와 통신 클래스 클래스의 내부 handler.cpp, 당신은 함수를 만드는 한 줄 :'add (X.GetVehicleByIndex (i) .getBrand())' –

0

그때 나는 내 자신의 질문에 대답 할 수 있습니다.

void getPersonByIndex(i); 

return this->person[i]->getSurName(); 

그런 다음 form1.h에서 당신이 쓰는 :

for(int i=0;i<this->getNrOfPersons;i++) 

String^ str = new String(comm.getPersonByIndex(i)); //this conversion was my problem 

this->listbox->beginupdate(); 
this->listbox->items->add(str); 
this->listbox->endupdate();