class Cls { public: static int cnt; int v1,v2; Cls(int V1, int V2); void disp(); }; //静的メンバ変数の実体となるグローバル変数 int Cls::cnt; |
/*★ class & static 前田 稔 ★*/ #include <stdio.h> class Cls { public: static int cnt; int v1,v2; Cls(int V1, int V2); void disp(); }; //静的メンバ変数の実体となるグローバル変数 int Cls::cnt; //コンストラクタ Cls::Cls(int V1, int V2) { cnt = V1; v1 = V1; v2 = V2; } //メンバー関数 void Cls::disp() { printf("cnt=%d v1=%d v2=%d\n", cnt,v1,v2); } int main() { Cls *cls[5]; int i; for(i=0; i<5; i++) { cls[i] = new Cls(i,i+10); cls[i]->disp(); } for(i=0; i<5; i++) delete cls[i]; return 0; } |
/*★ class & static 前田 稔 ★*/ #include <stdio.h> class Cls { public: static int cnt; int v1,v2; Cls(int V1, int V2); void disp(); }; //静的メンバ変数の実体となるグローバル変数 int Cls::cnt = 10; //コンストラクタ Cls::Cls(int V1, int V2) { cnt++; v1 = V1; v2 = V2; } //メンバー関数 void Cls::disp() { printf("cnt=%d v1=%d v2=%d\n", cnt,v1,v2); } int main() { Cls *cls[5]; int i; for(i=0; i<5; i++) { cls[i] = new Cls(i,i+10); cls[i]->disp(); } for(i=0; i<5; i++) delete cls[i]; return 0; } |
cnt=11 v1=0 v2=10 cnt=12 v1=1 v2=11 cnt=13 v1=2 v2=12 cnt=14 v1=3 v2=13 cnt=15 v1=4 v2=14 |