Мне нужна помощь в отношении этой части кода ... Я должен передать два двойных значения в schmoo. если я сделаю это так "Schmoo (8.0,9.0);" это работает найти, но когда я пытаюсь, как у меня есть, я получаю сообщение об ошибке. Предполагается, что я читаю входные данные из cin, которые выглядят так: «add schmoo 8.0 7.0». Я думаю, что неправильно извлекаю двойные числа, как правильно извлечь каждую вещь из cin. Мне нужно, чтобы это продолжалось до тех пор, пока их ввод.
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);
}
Также мне нужна помощь с перегрузкой этого оператора:
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 (); Я использовал get грязь через указатель раньше, но этот класс не дружит ни с одним, у которого есть указатель. но getMud - это функция того же класса, в котором он находится, как мне использовать getMud (); в этом контексте.