코드의이 부분에 관해 도움이 필요합니다 ... schmoo에 두 개의 double을 전달해야합니다. 내가 이렇게한다면 "Schmoo (8.0,9.0);" 그것은 작동하지만 찾을 때 그것을 사용하면 오류가 발생합니다. 나는이 "add schmoo 8.0 7.0"과 같은 cin에서 입력을 읽어야합니다. 나는 실수를 두 번 추출하고, 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
코드에 문제가 있습니다 :'double a, b; cin >> a >> b; Schmoo * a = 새로운 Schmoo (a, b); – MFH