0

基本的に、私はいくつかを学ぼうとしているので、C ++でサンドボックス化していclassType className=value;ますが、クラスを作成すると、使用するとオーバーロードされたコンストラクターを使用してクラスが作成されることがすぐにわかりました

クラスが *、==、または || などの他の演算子を使用できるようにするにはどうすればよいですか?

私がPythonで知っているように、プライベートメソッドを作成します__plus__.C ++で似たようなものですか?

4

2 に答える 2

1

C++ では多くの演算子をオーバーロードできます。あなたの場合、それぞれoperator*,operator==とという名前で関数を宣言するだけoperator||です。一部の演算子は、クラスのメンバー関数としてオーバーロードする必要があり、他の演算子はフリー関数としてオーバーロードする必要があります。

関数シグネチャの例を次に示します。

X operator*(const X&, const X&);
bool operator==(const X&, const X&);
bool operator||(const X&, const X&);

Wikipedia でオーバーロード可能な演算子の完全なリストを簡単に見つけることができます。

このトピックに入る前に、良い本を選んで C++ についてもう少し学ぶことをお勧めします。一部のオペレーターは、適切な予防策を講じないと過負荷になる危険性があり、一部のオペレーターは過負荷になると期待どおりに動作しない場合があります

于 2013-10-18T01:16:27.340 に答える
0

オーバーロード演算子を検索します。

使用できるリンクをいくつか示します。

http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cpp-ops.html
http://www.cplusplus.com/doc/tutorial/classes2/
演算子のオーバーロード

最初の 2 つはそれを行う方法に関するもので、3 つ目は理由と時期に関するものです。

于 2013-10-18T01:17:36.323 に答える