私はこれでほとんど終わりました。オーバーロードされた出力演算子で何を返す必要があるのか理解できません。もともと、それは戻り値以下でしたが、私はエラーを受け取り続けます(タイプ "stool :: ostream &"(const修飾されていない)の型は "bool"型の値で初期化できません)。私の帰りの声明の中で?戻ってくるものを決める - ブール値
class Student
{
private:
int stuID;
int year;
double gpa;
public:
Student(const int, const int, const double);
void showYear();
bool operator<(const Student);
friend ostream& operator<<(ostream&, const Student&);
};
Student::Student(const int i, int y, const double g)
{
stuID = i;
year = y;
gpa = g;
}
void Student::showYear()
{
cout << year;
}
ostream& operator<<(ostream&, const Student& otherStu)
{
bool less = false;
if (otherStu.year < otherStu.year)
less = true;
return ;
}
int main()
{
Student a(111, 2, 3.50), b(222, 1, 3.00);
if(a < b)
{
a.showYear();
cout << " is less than ";
b.showYear();
}
else
{
a.showYear();
cout << " is not less than ";
b.showYear();
}
cout << endl;
_getch()
return 0;
}
、 '演算子<<'べき最初のパラメータを直接返します。 –
実際に返ってきたことだから、返すようにしましょう。 – pm100
'operator <<'と 'operator <'を混同しているようです。 –