C++のstaticメンバ変数

Javaと同じノリで書いたら動かなかった。

#include <iostream>
using namespace std;

class MyClass {
public:
    MyClass() {}

    static void set(int a) {
        mem = a;
    }

    static int get() {
        return mem;
    }

private:
    static int mem;
};

int MyClass::mem;

int main() {
    MyClass::set(3);
    cout << MyClass::get() << endl;

    return 0;
}

気をつけるのは初期化。関数やクラスの外で初期化が必要。