私のクラスでオペレータ:=
をC++で作成またはオーバーロードできないのはなぜですか?C:++で演算子のオーバーロード「:=」
オーバーロードできるリスト演算子はいくつかありますか?
私はオーバーロードすることができますか、またはいくつかの新しいカスタム演算子を作成できますか?
私のクラスでオペレータ:=
をC++で作成またはオーバーロードできないのはなぜですか?C:++で演算子のオーバーロード「:=」
オーバーロードできるリスト演算子はいくつかありますか?
私はオーバーロードすることができますか、またはいくつかの新しいカスタム演算子を作成できますか?
C++にそのような演算子が存在しないため。パーザがそれらを認識するためには、言語の文法を変更する必要があるため、独自の演算子をロールバックすることはできません。
利用可能なオペレータhereまたはhereのリストがあります(コピーを入手できる場合は、標準を読んでください)。
最後に、明日がないような演算子のオーバーロードは、C++の初心者のほとんどが間違っていることを覚えておいてください。演算子は実際に関数だけではありません。ほとんどの場合、演算子のオーバーロードのための非常に良いケースがない限り、代わりにクラスのためのプレーン関数を書くのが良い考えです。
おそらく、あなたが譲渡または等号を意味:たとえば、std::string
ははないは、それはあなたがオーバーロードすることができ
string sleepy = string("z") * 40;
演算子は、書き込みに便利だと主張することができていてもoperator*
を持っていませんオペレーター。
class Object{
public:
///Overload The Assignment Operator
Object& operator=(const Object& objectIn);
///Overload The Equals Operator
bool operator == (const Object & rhs) const;
protected:
private:
};
ありがとうございます。 – Alex
リロードすると、過負荷と思われますか? –
はい。ありがとうございました。 – Alex