Static04
Home ] Up ]

 

//static04.cpp
#include <iostream>
using namespace std;

class CSquare
  {
  private:
    static double Side;
  public:
    CSquare() {};
    void setSide(double S) { Side = S; }
    static double getSide() { return Side; }// static
    double Area() { return Side * Side; }
  };

double CSquare::Side = 4.0;

void main(void)
  {
  CSquare Sqr;

  cout << "sizeof(Sqr)=" << sizeof(Sqr) << endl;

  cout << "Square Characteristics";
  cout << "\nSide: " << CSquare::getSide();
  cout << "\nArea: " << Sqr.Area() << endl;

  Sqr.setSide(8.0);

  cout << "\nSquare Characteristics";
  cout << "\nSide: " << CSquare::getSide();
  cout << "\nArea: " << Sqr.Area();

  cout << "\n";

  CSquare Sqr2;
  cout << "Square Characteristics";
  cout << "\nSide: " << Sqr2.getSide(); //CSquare::getSide();
  cout << "\nArea: " << Sqr2.Area() << endl;

  Sqr.setSide(4.0);

  cout << "Square Characteristics";
  cout << "\nSide: " << CSquare::getSide();
  cout << "\nArea: " << Sqr2.Area() << endl;
  }
/*
sizeof(Sqr)=1
Square Characteristics
Side: 4
Area: 16

Square Characteristics
Side: 8
Area: 64
Square Characteristics
Side: 8
Area: 64
Square Characteristics
Side: 4
Area: 16
Press any key to continue
*/