1

次の C++ 構文はどういう意味ですか?

my_s_module::my_s_module(mylib::cont const& c)
    :mylib::s_module{c}
{
    // Some content;
}

私には継承のように見えます。しかし、継承の構文は次のとおりであることを知っています。

class Child: public Parent
{
}

最初の例では、次のようなものがあります。

Child(some_type const& x): public Parent{x}
{
}

だから、私はそれが何を意味するのか分かりません。誰かこの構文を説明してくれませんか?

追加した

おそらく、このコードへのコメントに「モジュールのコンストラクター」であると書かれていることを追加する必要があります。しかし、それはどういう意味ですか?クラスのコンストラクターの意味は知っていますが、モジュールのコンストラクターとは何ですか?

4

3 に答える 3

0

あなたの説明から、それはコンストラクターの単なる初期化リストです。

コロンの後に、クラス メンバーとそれらの初期値を指定します。

例: http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/

于 2013-08-12T12:32:20.973 に答える
0

これは、名前空間 (またはクラス) にあるmy_s_moduleから継承するクラス のコンストラクター内の通常の初期化リストです。s_modulemylib

コードは次のようになります。

namespace mylib
{ 
    class cont
    {
       // ...
    };

    class s_module
    {
    public:
        s_module(cont const&);
        // ...
    };
}

class my_s_module : public mylib::s_module
{
public:
    my_s_module(mylib::cont const &);
};

// Constructor implementation
my_s_module::my_s_module(mylib::cont const& c)
    : mylib::s_module{c}  // Initialize the base class. The {} around the argument is a C++11 feature.
{
    // Some content;
}
于 2013-08-12T12:35:53.860 に答える