我正在創建一個名爲Team的類。我怎樣才能讓兩個對象指向對方作爲合作伙伴?這是我迄今爲止所做的工作。我已經用布爾數據字段對它進行了測試,並且我知道我的程序的其餘部分工作到目前爲止。設置指向對象的指針,讓對象指向對方
#include <iostream>
using namespace std;
class Team
{
public:
Team();
Team(bool prac, Team *part);
Team *partner;
bool practiced;
void createPairing (Team *t1, Team *t2);
};
Team::Team()
{
practiced = false;
partner = 0;
}
Team::Team(bool prac, Team *part)
{
practiced = prac;
partner = part;
}
void Team::createPairing (Team *t1, Team *t2)
{
t1->partner = t2;
t2->partner = t1;
}
int main()
{
Team Harry;
Team Ron;
Team *p1 = &Harry;
Team *p2 = &Ron;
Team createPairing(p1, p2);
cout << Harry.partner << endl;
return 0;
}
謝謝你的建議。不過,以下內容仍然返回給合作伙伴。當我試圖在函數聲明中放置靜態void時,我的編譯器給了我一個錯誤,指出靜態只能在類定義中指定。也就是說,我在類定義中定義了靜態void(createPartner),但在定義函數時我無法做到這一點。 – 2013-03-27 15:49:40
@安妮韋爾是的,你只是在課堂上的聲明上做。 – 2013-03-27 15:51:52
只能在課堂內使用'static'。當你編寫函數的實現時,你不應該使用'static'。 – 2013-03-27 15:54:07