C++ static member function to show static data members

Description

C++ static member function to show static data members

#include <iostream>
using namespace std;
// declaration section
class RoomDimension
{
   private:/*from ww  w. j a v  a  2  s  .  co m*/
   static double TotalSqFootage;  // static variable declaration
   double length;
   double width;
   public:
   static void dispFootage();  // static member function
   RoomDimension(double l = 0.0, double w = 0.0)  // inline constructor
   {
      length = l;
      width = w;
      TotalSqFootage += l * w;
   }
   void resetDimension(double, double);
};
// static member definition
double RoomDimension::TotalSqFootage = 0.0;
// implementation section
void RoomDimension::resetDimension(double len = 0.0, double wid = 0.0)
{
   TotalSqFootage  = length * width;  // remove previous square footage
   length = len;
   width = wid;
   TotalSqFootage += len * wid;  // add new square footage
   dispFootage(); // static function can be called from inside function
}
// static function definition
void RoomDimension::dispFootage()
{
   cout << "The total square footage is now " << TotalSqFootage << endl;
}
int main()
{
   RoomDimension::dispFootage(); // static function call
   RoomDimension Kitchen(20.0, 15.0);
   RoomDimension::dispFootage(); // static function call
   RoomDimension Hall(25.0, 4.0);
   Hall.dispFootage();  // another means of calling the static function
   Hall.resetDimension(10, 5);
   return 0;
}



PreviousNext

Related