このうち、autoであるものを一般にインスタンス変数、C++ではメンバ変数と呼び、staticであるものを一般にクラス変数、C++では静的メンバ変数と呼ぶ。
class Employee
{
protected:
// インスタンス変数(メンバ変数)
string name;
unsigned int id;
// クラス変数(静的メンバ変数)
static unsigned int next_id;
public:
Employee(const string& name): name(name), id(next_id++) {}
};
unsigned int Employee::next_id = 0;