仮想オペレーターの実装
仮想オペレーターの必要性は、さまざまなクラスのストリーミング オペレーターの動作をカスタマイズするときに発生します。演算子を仮想として定義しようとすると、多くの場合、「演算子
自由関数のジレンマ
この問題は、operator
間接的な解決策
このジレンマを解決するには、次のようにします。目的の出力動作をカプセル化する仮想メンバー関数を追加することを検討してください:
class MyClass {
public:
virtual void print(ostream& out) const; // Virtual output function
};
仮想動作を使用したカスタマイズされた演算子
仮想メンバー関数を配置すると、print 関数に委任する自由な関数として演算子
ostream& operatorこのアプローチでは、operator
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3