静的メンバ static


static指定子を付けて宣言したメンバ変数です。
クラス間変数とも呼びます。
静的メンバ変数はクラスのインスタンスを何個生成しても、必ず一つしか存在しない変数です。

以下のプログラムを書いて試してみましょう。

Sample.h

#include < iostream >
using namespace std;

class Sample{
public:
  static int s_num;
  int num;
  Sample();
  void dispNum();
  void addNum();
};

Sample.cpp

#include "Sample.h"
int Sample::s_num=0;

Sample::Sample(){
  num=0;
}
void Sample::dispNum(){
  cout<< num <<","<<s_num<<endl;
}
void Sample::addNum(){
  num++;
  s_num++;
}



main.cpp

#include "Sample.h"

int main(){
  Sample *s = new Sample();
  Sample *s2 = new Sample();

  s->addNum();
  s->dispNum();

  s2->addNum();
  s2->dispNum();

  return 0;
}

定数 const

const指定子を付けて宣言したメンバ変数です。
constを付けることでその変数の値が書き換えられないようになります。
const int num = 100;

testcounter
合計 -
今日 -
昨日 -