我是初學者下,在不過CSHARP深諳++程序員..初學C++,指針和繼承錯誤
對於我的一個任務,我們必須創建一個基於文本的迷宮遊戲,我到目前爲止有一個頭文件,它包含方向聲明和方法設置方向N,S,W,E
在主要我得到並設置設置房間可以進入的方向。下面是代碼的例子,我已經包括每個語句之一削減長度,即只有南方得到和設置。
void Room::setS(Room* nextRoom)
{
south = nextRoom;
}
Room* Room::gS(){return south;}
Room* A = new Room("A");
Room* B = new Room("B");
A->setE(B);
A->setS(E);
Room* myPosistion = A;
string location = *myPosistion->gName();
while(location !="L")
{
cout << "You are In Room "<< location << endl;
}
在while循環我需要能夠訪問室::方法,(房間:: GS()),所以沿
if(location->gS() == NULL
//do nothing
else
{
cout<<"1. South"<<endl;
}
的問題是行的東西,我不能讓位置變量訪問室::方法,我知道我在想念着一些非常基本的,但只是不能讓我上的手指..
感謝您的幫助
我知道你來自C#,但在C++'新'不會做你認爲它的作用。 – 0x499602D2 2013-04-07 14:23:15
你在這裏有一個根本性的誤解。事實上'Room'上的方法返回一個字符串不會使字符串成爲Room,或者使用它的任何方法。 – Linuxios 2013-04-07 14:24:31
'location'是一個字符串,而不是'Room *'。 – Beta 2013-04-07 14:24:43