ホームページ  >  記事  >  バックエンド開発  >  C で引数を指定して基本クラスのコンストラクターを呼び出すにはどうすればよいですか?

C で引数を指定して基本クラスのコンストラクターを呼び出すにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-22 13:39:24762ブラウズ

How Do I Call a Base Class Constructor with Arguments in C  ?

C での基本クラス コンストラクターの呼び出し

基本クラス コンストラクターの呼び出しに使用される Java の super() キーワードとは異なり、C では別のメカニズムが提供されます。 。 C で引数を使用して基本クラスのコンストラクターを呼び出す方法を見てみましょう。

問題:

次のような引数を取るデフォルトのコンストラクターを持つ C クラスを考えてみましょう。

class BaseClass {
public:
    BaseClass(char *name);
    .... 
};

このクラスから継承する場合、適切なデフォルトがないことを示す警告が表示される場合があります。 constructor.

解決策:

C を使用すると、サブクラスのコンストラクターの初期化子リスト内で基本クラスのコンストラクターを呼び出すことができます。以下に例を示します。

class Foo : public BaseClass {
public:
    Foo() : BaseClass("asdf") {}
};

この例では、Foo コンストラクターが呼び出されると、文字ポインター引数を受け取るコンストラクターを使用して基本クラス BaseClass を初期化し、文字列 "asdf" を引数として渡します。

追加メモ:

必要な基本クラスのコンストラクターサブクラスのメンバーが初期化される前に、初期化子リストで引数を呼び出す必要があります。

以上がC で引数を指定して基本クラスのコンストラクターを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。