// C++ program corresponding to Figure 7.2.6 in EOPL

#include <iostream.h>

class aclass {
protected:
  static const int cv = 6;
  int iv;
public:
  aclass() : iv(8) {}
  virtual int getcv() { return cv; }
  virtual int getiv() { return iv; }
};

class bclass : public aclass {
protected:
  static const int cv = 7;
  int iv;
public:
  bclass() : iv(9) {}
};

int main()
{
  bclass *x = new bclass();
  int c = x->getcv();
  int i = x->getiv();
  cout << "c = " << c << endl;
  cout << "i = " << i << endl;
  return(0);
}
