我有抽象類:超載二進制+
#include <string>
using namespace std;
class AString
{
public:
virtual ~AString() {}
virtual const string& GetName() const = 0;
virtual const string& GetValue() const = 0;
virtual const int GetSize() const = 0;
};
和衍生類。我嘗試過載二元+在這個類:
class SymbString : public AString
{
private:
string name;
string val;
public:
SymbString() {}
SymbString(string _name) : name(_name) {}
SymbString(string _name, string _val) : name(_name), val(_val) {}
const string& GetName() const { return name; }
const string& GetValue() const { return val; }
const int GetSize() const { return val.size(); }
const string& SetValue(string value)
{
val = value;
return val;
}
SymbString operator + (const SymbString &str1, const SymbString &str2)
{
}
};
但看到錯誤:SymbString運營商+(常量SymbString & STR1,常量SymbString & STR2)必須採取零個或一個參數
什麼問題?
謝謝。
是的,它在SymbString中,我寫在stackoverflow這樣的易懂性 – 0xAX 2010-10-10 14:17:33