演算子の定義方法を見てみるのは面倒です。次のコードは、「候補関数が見つかりません」というエラーを表示しています。私自身の演算子の定義に問題があります...
根本原因以外の批判も歓迎です。ありがとう!
#include <iostream>
using std::cout; using std::cin; using std::endl;
using std::string;
class SomeClass {
public:
SomeClass(int newNum, string newString) { num=newNum; str = newString; }
SomeClass& operator=(const SomeClass& rh) {
string newVal(rh.getStr());
str = newVal;
}
void setStr(string newString) { str = newString; }
const string getStr() { return str; }
string toString() { return str+str; }
private:
string str;
int num;
};
int main() {
SomeClass a(5, "five");
SomeClass b(3, "three");
cout << a.toString() << endl << b.toString() << endl;
a=b;
cout << a.toString() << endl << b.toString() << endl;
}
ここでどのようなエラーが表示されますか? –
次回は、もしあなたが私たちに骨を投げて、少なくともそれが何であるか教えてくれればいいと思います。また、正確なエラーメッセージのコピーも持っているといいです。 –