Angular, Blockchain, Science とか

Angular, Blockchain, Science全般 の情報を主に書いていきます。

C++ 静的なメンバ変数とメンバ関数

C++の静的な(static)メンバ変数とメンバ関数に関するまとめ。

グローバル変数でも表現できますが、まあどうせなら必要なものはクラスの中に入れておいた方がわかりやすいと思われます。

class sample{
private:
    static int count;
    ....色々
};

// このように定義する
int sample::count = 0;

使うときは、静的メンバ関数にした方がよい。

class sample{
private:
    static int count;
public:
    // あんまりよくない。
    int get_count(){
        return count;
    }
};


//この場合 sample 型の変数を宣言しなければいけません。
{
    sample s1;
    std::cout << s1.get_count() << std::endl;
}

静的メンバ関数にすると

class sample{
private:
    static int count;
public:
    static int get_count(){return count;}
};

// sample型の変数を宣言しなくていい。
{
    std::cout << sample::get_count << std::endl;
}