私はコードのこの部分について助けが必要...私はschmooに2つの倍を渡すことになっています。もし私がこれを好きなら、 "Schmoo(8.0,9.0);"それは私がそれを持っているようにそれを試してみると、私はエラーが発生します。私はこのように見えるcinからの入力を読み込むことになっています。「schmoo 8.0 7.0を追加」私はダブルスを間違って抽出していると思います。彼らが入力されている限り、これを続ける必要があります。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;
}
I)はs.getMud(としなければならないエラーを取得しています。以前はポインタを使って泥を取得していましたが、このクラスはポインタを持つものと友人ではありません。しかし、getMudは、これが同じクラスの関数です。どのようにgetMud()を使用しますか?この文脈では、
コードを正しく表示するには、4つ分のスペースをインデントするか、コードを選択してテキストボックスの上の '{}'ボタンを押します。 – Xeo
あなたのコードに問題があります: 'double a、b;シン>> a >> b; Schmoo * a = new Schmoo(a、b); ' – MFH