我需要關於這部分代碼的幫助......我應該將兩個雙打給schmoo。如果我這樣做「Schmoo(8.0,9.0);」它的作品發現,但是當我嘗試它時,我得到一個錯誤。我應該從cin讀取輸入,看起來像這樣「添加schmoo 8.0 7.0」我認爲我正在提取雙打錯誤,如何從cin正確提取每個東西。只要他們是輸入,我需要這個繼續。C++從stdin和stdout讀入內容。此外運算符超載
while(cin){
string command1 = "add schmoo";
string input;
cin >> input;
double a,b;
if(input == command1){
cin >> a >> b;
Schmoo *a = new Schmoo(a,b);
c.insertFront(a);
}
string command2 = "throw mud";
if(input == command2){
cin >> a >> b;
c.throwMudAt(a,b);
}
此外,我需要這個超載幫助opperator:
ostream &operator<<(ostream &os, Schmoo &s){
if(s.getMud() == 1){
os << "Schmoo at (" << s.x << ", " << s.y << ") was hit mud " << mud << "time.";
}
os << "Schmoo at (" << s.x << ", " << s.y << ") was hit with mud" << mud << "times.";
return os;
}
我越來越具有與s.getMud做一個錯誤();我之前使用過指針,但這個班對任何有指針的人都不是朋友。但getMud是這個類中的同一個類的函數,我該如何使用getMud();在這方面。
要使代碼看起來正確,請將其縮進4個空格或選擇代碼並點擊文本框上方的「{}」按鈕。 – Xeo 2011-04-30 19:55:23
你的代碼有一個問題:'double a,b; cin >> a >> b; Schmoo * a =新的Schmoo(a,b);' – MFH 2011-05-01 00:10:23