// Steve J. Hodges // CS19: C++ Programming // classinonefile.cpp // introduction to classes #include using namespace std; class Time{ public: Time(); Time(int, int, int); void setHour(int h){ hour = (h>=0 && h<24) ? h : hour; } int getHour() const { return hour; } void setMin(int m){ min = (m>=0 && m<60) ? m : min; } int getMin() const { return min; } void setSec(int s){ sec = (s>=0 && s<60) ? s : sec; } int getSec() const { return sec; } // only uses static members = static fns static int getCount(){ return count;} private: static int count; const static double ATMFEE=1.50; // const+static = in class const int foo; int hour; int min; int sec; }; // syntax to init non-const static data member int Time::count=0; // member initializer syntax to init const data member Time::Time():foo(99){ count++; hour = 0; min = 0; sec = 0; } Time::Time(int h, int m, int s):foo(99){ hour = min = sec = 0; count++; setHour(h); setMin(m); setSec(s); } int main(){ cout << Time::getCount() << endl; // 0 Time t; Time t2(12,0,0); const Time noon(12,0,0); //cout << noon.getHour(); cout << t.getCount() << endl; // 3 return 0; }