Possible Duplicate:
Operator overloading創建用C類賦值(=)運算符++
EDIT 2
我用刀片(...)不正確,我沒有實際需要 '=' 運算符。抱歉浪費人們的時間。我已投票結束..仍然有2票。請投票。
EDIT
我想要一個「=」操作符是這樣我可以使用插入物(...)函數上推導對象的矢量的原因。此刻我的編譯器說:
/usr/include/c++/4.2.1/bits/stl_algobase.h:283: error: no match for 'operator=' in '* __result = * __first'
我創建「==」和「<」爲我自己的類運營商之前,但我竭力要打造一個「=」運算符。我的階級是這樣的(忽略傻變量名):
class Derivation {
public:
string rc;
ImplementationChoice Y;
vector<Derivation> X;
vector<string> D;
vector<string> C;
vector<Player> P, O;
vector<Attack> B;
// various functions
// ...
};
,我想知道我需要把
// What do '=' return? An object of the class right?
Derivation& operator=(const Derivation &d) const {
// something....
}
非常感謝。
最起碼,它應該返回一個引用('推導&'),而不是對象的新副本。 :) – jalf
謝謝..現在編輯帖子。對不起。對C++來說很新穎 – ale
我建議你閱讀[運算符重載常見問題](http://stackoverflow.com/q/4421706/46642)。 –