C ++でメンバー関数のみを継承するにはどうすればよいですか?

ロバート・クルテニ

基本クラスBaseと派生クラスDerivedがあるとします。

class Base
{
public:
    void f1(void);
    ...
    int data1;
    ...
};

class Derived : Base
{
... add stuff here that's unique to Derived
};

Derivedは、Baseからデータ(つまりdata1)ではなく、関数(つまり、f1())のみを継承するにはどうすればよいですか?

ローレンス・ヘルナンデス

派生クラスで必要とされない基本クラスの属性を持つことは、悪い継承のヒントです

あなたの場合、私はあなたがそれらのデータメンバーを必要とする別の派生クラスを持っていると思います、そうでなければそれは意味がありません

次に、次のようなことをしてみませんか。

class Base
{
public:
    void f1(void);
    ...
};

class DerivedClass : Base
{
... add stuff here that's unique to Derived
};

class DerivedClass2 : Base
{ 
     public:
         int data1;
         ....
}

これらのデータメンバーを必要とする派生クラスが他にもある場合は、関数用とデータメンバー用に別々の基本クラスを作成することをお勧めします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C ++では、継承されたクラスのプライベートベースメンバー変数にアクセスするにはどうすればよいですか?

分類Dev

C#で継承のプロパティを使用するにはどうすればよいですか?

分類Dev

C#でオプトインメソッドの継承を作成するにはどうすればよいですか?

分類Dev

クラスを前方宣言し、後でc ++でそのメンバー関数を使用するにはどうすればよいですか?

分類Dev

C ++でstd :: functionを使用してFunctorのメンバー関数にアクセスするにはどうすればよいですか?

分類Dev

xaml内のC#で記述されたカスタムコントロールを継承するにはどうすればよいですか?

分類Dev

Cの関数呼び出し間で共用体メンバーの値を保持するにはどうすればよいですか?

分類Dev

C ++の継承されたクラスで通常のメソッドを静的メソッドに変更するにはどうすればよいですか?

分類Dev

このバブルソート関数をCで修正するにはどうすればよいですか?

分類Dev

cinをC ++のクラスのメンバー関数に設定するにはどうすればよいですか?

分類Dev

継承するときに基本クラスのコピーを作成しないようにするにはどうすればよいですか?C ++

分類Dev

C ++:メンバー関数へのポインターを含む任意のファンクターを取得できるように、関数をオーバーロードするにはどうすればよいですか?

分類Dev

特定のOSバージョンでのみ使用可能なC関数を呼び出すにはどうすればよいですか?

分類Dev

C ++で別の関数から関数をループするにはどうすればよいですか

分類Dev

カスタムソートメンバー関数を使用してC ++でsort()を使用するにはどうすればよいですか?

分類Dev

cの関数の戻り値のみを取得するにはどうすればよいですか?

分類Dev

member.functionName構文c ++を使用せずにメンバー関数にアクセスするにはどうすればよいですか?

分類Dev

C ++でいくつかのオプションパラメータとして関数を実装するにはどうすればよいですか?

分類Dev

C ++これはどのようにメンバー関数ポインタではないのですか?

分類Dev

C ++のプライベートメンバー変数をCでシミュレートするにはどうすればよいですか?

分類Dev

関数を使用してc ++クラスメンバーを更新するにはどうすればよいですか?

分類Dev

C ++メンバー関数をファンクターパラメーターに渡すにはどうすればよいですか?

分類Dev

メソッド(複数のメソッド)をパラメーターとして継承されたvoidメソッドまたはC#のデリゲートに渡すにはどうすればよいですか?

分類Dev

C#のNHibernateのQueryOverでOracleの組み込みキーワードまたは関数を使用するにはどうすればよいですか?

分類Dev

C ++で継承されたオブジェクトに.txtファイルを読み取るにはどうすればよいですか?

分類Dev

C ++では、クラスが継承チェーンの最後のクラス/子であるかどうかを確認するにはどうすればよいですか?つまり、基本クラスの反対側にあります

分類Dev

C ++での関数のオーバーロードは、ダイヤモンド継承なしでどのように機能しますか?

分類Dev

doxygenがC ++関数の名前のないパラメーターを誤解しないようにするにはどうすればよいですか?

分類Dev

Lua C API関数がクラスメンバーとして呼び出されたのか、それともテーブルから関数として呼び出されたのかを判断するにはどうすればよいですか?

Related 関連記事

  1. 1

    C ++では、継承されたクラスのプライベートベースメンバー変数にアクセスするにはどうすればよいですか?

  2. 2

    C#で継承のプロパティを使用するにはどうすればよいですか?

  3. 3

    C#でオプトインメソッドの継承を作成するにはどうすればよいですか?

  4. 4

    クラスを前方宣言し、後でc ++でそのメンバー関数を使用するにはどうすればよいですか?

  5. 5

    C ++でstd :: functionを使用してFunctorのメンバー関数にアクセスするにはどうすればよいですか?

  6. 6

    xaml内のC#で記述されたカスタムコントロールを継承するにはどうすればよいですか?

  7. 7

    Cの関数呼び出し間で共用体メンバーの値を保持するにはどうすればよいですか?

  8. 8

    C ++の継承されたクラスで通常のメソッドを静的メソッドに変更するにはどうすればよいですか?

  9. 9

    このバブルソート関数をCで修正するにはどうすればよいですか?

  10. 10

    cinをC ++のクラスのメンバー関数に設定するにはどうすればよいですか?

  11. 11

    継承するときに基本クラスのコピーを作成しないようにするにはどうすればよいですか?C ++

  12. 12

    C ++:メンバー関数へのポインターを含む任意のファンクターを取得できるように、関数をオーバーロードするにはどうすればよいですか?

  13. 13

    特定のOSバージョンでのみ使用可能なC関数を呼び出すにはどうすればよいですか?

  14. 14

    C ++で別の関数から関数をループするにはどうすればよいですか

  15. 15

    カスタムソートメンバー関数を使用してC ++でsort()を使用するにはどうすればよいですか?

  16. 16

    cの関数の戻り値のみを取得するにはどうすればよいですか?

  17. 17

    member.functionName構文c ++を使用せずにメンバー関数にアクセスするにはどうすればよいですか?

  18. 18

    C ++でいくつかのオプションパラメータとして関数を実装するにはどうすればよいですか?

  19. 19

    C ++これはどのようにメンバー関数ポインタではないのですか?

  20. 20

    C ++のプライベートメンバー変数をCでシミュレートするにはどうすればよいですか?

  21. 21

    関数を使用してc ++クラスメンバーを更新するにはどうすればよいですか?

  22. 22

    C ++メンバー関数をファンクターパラメーターに渡すにはどうすればよいですか?

  23. 23

    メソッド(複数のメソッド)をパラメーターとして継承されたvoidメソッドまたはC#のデリゲートに渡すにはどうすればよいですか?

  24. 24

    C#のNHibernateのQueryOverでOracleの組み込みキーワードまたは関数を使用するにはどうすればよいですか?

  25. 25

    C ++で継承されたオブジェクトに.txtファイルを読み取るにはどうすればよいですか?

  26. 26

    C ++では、クラスが継承チェーンの最後のクラス/子であるかどうかを確認するにはどうすればよいですか?つまり、基本クラスの反対側にあります

  27. 27

    C ++での関数のオーバーロードは、ダイヤモンド継承なしでどのように機能しますか?

  28. 28

    doxygenがC ++関数の名前のないパラメーターを誤解しないようにするにはどうすればよいですか?

  29. 29

    Lua C API関数がクラスメンバーとして呼び出されたのか、それともテーブルから関数として呼び出されたのかを判断するにはどうすればよいですか?

ホットタグ

アーカイブ