0
내가 보지 못했던 어리석은 오타가이 문제를 일으켰습니다. 이제 해결되었습니다. 모두 감사합니다!
왜 내 코드가 각 개별 클래스의 출력을 출력하지 않습니까?
예상 결과는 1의 메시지이고 2의 메시지이어야합니까?
class CTest
{
public:
virtual void WriteMessage();
};
void CTest::WriteMessage()
{
}
class CMessage1 : public CTest
{
virtual void WriteMesssage()
{
cout << "Message from 1" << endl;
}
};
class CMessage2 : public CTest
{
virtual void WriteMesssage()
{
cout << "Message from 2" << endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
CTest* pMessages[4];
pMessages[0] = new CMessage1;
pMessages[1] = new CMessage2;
pMessages[2] = new CMessage1;
pMessages[3] = new CMessage2;
for (int i = 0; i < 4; i++)
{
pMessages[i]->WriteMessage();
}
return 0;
}
각 CMessage 인스턴스에 대해 WriteMessage 가상 무효를 만들어야합니까? 이처럼 :
당신은WriteMesssage
로
WriteMessage
을 맞춤법이 틀린
void CMessage2::WriteMesssage()
{
cout << "Message from 2" << endl;
}
어떤 행동을합니까? –
실제로 무엇이 잘못 되었습니까? – Galik
각 클래스에서 해당하는 내용을 인쇄하지 않습니다. 그것이 메인의 배열을 지날 때마다 각각의 다른 클래스들로부터 큐을 출력해야합니다. 코드가 실행되고 컴파일되지만 출력이 전혀 없습니다. – Keir