سلام خسته نباشید
من چند تا کلاس تعریف کردم به این شکل :
class CFruit {
private:
string m_name;
public:
string getName() const;
CFruit(string name = "NoName");
};
class CFruitSalad {
//Overloaded Operators
friend ostream& operator <<(ostream& out, const CFruitSalad& f);
friend CFruitSalad operator +(const CFruit& f1, const CFruit& f2);
private:
string m_fruitsalad;
public:
CFruitSalad(string content = "");
string getName() const;
};
و الان به این شکل ازشون استفاده می کنم :
CFruit f1("Apple");
CFruit f2("Orange");
CFruit f3 ("Banana");
CFruitSalad fs;
fs = f1 + f2 + f3;
cout << "Content: " << fs << endl;
ولی اون حطی که f1,f2,f3 رو جمع میزنم برنامه ارور میده :
C2678: binary '+' : no operator found which takes a left-hand operand of type 'CFruitSalad' (or there is no acceptable conversion)
مشکل از چیه ؟؟