3

わかりましたので、私は次のことに苦労しています:

私は他のいくつかのクラス ( ) の (Qt のベクトルA) を保持するクラス ( ) を持っています。クラスにはプロパティがあり、名前もあります。vector<B>BBp

あるケースでは、プロパティが設定されているBクラスで見つかるオブジェクトのリストを取得したいと考えています。別のケースでは、プロパティが設定されているオブジェクトの名前のリストを取得したいと考えています。ApB

そして何よりも、これら 2 つの関数を同じように呼び出したいと思います :)

したがって、次のようなものです:

class A
{
public:
    QVector<B*> B_s_with_p() { ... }

    QStringList B_s_with_p() { ... }
};

しかし、メソッドをオーバーロードするためのヘルパーパラメーターを持ちたくありません (はい、それは簡単です)。私が持っている最も近いものは、別の名前のメソッドです...これは機能しますが、醜いです。テンプレートも機能していないようです。

今日の C++ を使用してそれを達成する方法はありますか?

4

4 に答える 4

-1

設計を確認してください..オーバーロードされた関数は、機能は似ていますが、引数の型が異なるものです..なぜあなたがしたいのかを確認してください.

I would like to have these two functions to be called the same

参照 :関数のオーバーロードの使用/利点は何ですか?

オーバーロードの利点は、パラメーターが異なるだけで同じタスクを実行する関数の命名に一貫性があることです。

于 2013-05-29T13:47:14.680 に答える