C++ のクラス変数の使い方のメモ

#include <stdio.h>

using namespace std;

class Test {
public:
	static int a; //このへんはJavaと同じ。
};

int Test::a; //ここで定義しないといけないところがJava出身だと分かり難い。

int main(){
	Test::a = 100; //Javaと同じでクラス変数はインスタンス化が不要。
	printf("%d\n", Test::a);
	
	Test *t1 = new Test;
	Test *t2 = new Test;
	
	t1->a = 456; //インスタンス変数の書き方でもアクセスできるが、間違いの元なので使わない方がよい?
	Test::a = 789;
	
	printf("%d\n", t1->a);
	printf("%d\n", Test::a);
	
	return 0;
}