Static02
Home ] Up ]

 

#include <iostream>
#include <ctime>
using namespace std;

class Cuser
  {
  private:
    int id;
    static int next_id;

  public:
    static int next_user_id(void)
      {
      next_id++;
      return next_id;
      }
    /* More stuff for the class user */
    Cuser(void)
      {
      //id = ++Cuser::next_id; //or,
      id = Cuser::next_user_id();
      }

    void displayId(void)
      {
      cout << "id = " << id << endl;
      }
  };


int Cuser::next_id = 0;

void main(void)
  {
  int b;
  cout << "sizeof(b)=" << sizeof(b) << endl;

  Cuser a_user1;
  cout << "sizeof(a_user1)=" << sizeof(a_user1) << endl;

  a_user1.displayId();

  Cuser a_user2;
  a_user2.displayId();

  Cuser a_user3;
  a_user3.displayId();

  Cuser a[20];

  Cuser a_user4;
  a_user4.displayId();
  }