2

クラスの最初のインスタンスの初期化時に [1 回] だけ呼び出したい基本クラスのメンバー関数があります (それが基本クラスの直接のインスタンスであるか、継承されたクラスであるかに関係なく)。基本的に、不要な関数呼び出しは避けたいと思っています。

4

2 に答える 2

2

簡単な解決策:

class C
{
private:
    static bool runOnce;

public:
    C()
    {
        if (!C::runOnce)
        { 
            C::runOnce = true;
            RunSth();
        }
    }
};

bool C::runOnce = false;
于 2013-06-12T06:13:41.690 に答える