我剛剛在'課程'上課,當我嘗試練習並運行它時...出現錯誤!顯然這是正確的,但它說"no operating "<<" matches these operands"
。cout with a class of
此外,我試過cin >> stu1.add(x);
,但它恰巧也是一個錯誤!我不能這樣做?
下面的代碼:
#include <iostream>
#include <string>
using namespace std;
class stu{
private:
string name;
int id;
public:
// constructor
stu(){
id=0;
}
void add(int id){
cin >> name >> id;
}
void setname(string N){
name=N;
}
void setid(int I){
id=I;
}
string getname(){
return name;
}
int getid(){
return id;
}
void print(int id){
cout << name << id;
}
};
int main(){
stu stu1;
int x;
string y;
cout << "enter name then id:";
cin >> y;
stu1.setname(y);
cin >> x;
stu1.setid(x);
cout << stu1.print(x);
//cout << "name: " << stu1.getname() << endl;
//cout << "id: " << stu1.getid() << endl;
return 0;
}
你的概念(在你的頭腦發漲)是錯的。請查看istream/ostream運營商(也許操縱者)。適當的設計不會在類「stu」中使用任何cin/cout。 – 2015-02-11 20:01:55
@DieterLücking我的老師說你必須用函數編寫'cout/cin' ..我也懷疑:\ – 2015-02-11 20:10:08
並刪除'add(...)'方法。這是錯誤的,沒有使用;) – tofi9 2015-02-11 20:12:28