Server IP : 172.16.15.8 / Your IP : 3.144.2.5 Web Server : Apache System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.2.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0705) : /home/jcwhiley/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
// // p. 160 - 161 modify for HW #include <iostream> using namespace std; class Time { int hrs, mins, secs; public: // default constructor Time() // 0:0:0 { hrs=0; mins=0; secs=0; } Time(int h, int m, int s) { hrs=h; mins=m; secs=s; } void Set(int h, int m, int s) // Tr { hrs=h; mins=m; secs=s; } void Write() const // Ob: Observer { cout << hrs << ':' << mins << ':' << secs; } void Increment() // Tr: Transformer { secs++; if (secs > 59) { secs = 0; mins ++; if (mins > 59) { mins =0; hrs ++; if (hrs > 23) hrs = 0; } } } bool Equal(Time x) const // Ob { return (hrs==x.hrs && mins==x.mins && secs==x.secs); } bool GreaterThan( Time x ) const // Ob { bool temp = false; if ( hrs > x.hrs ) temp = true; else if( hrs == x.hrs && mins > x.mins ) temp = true; return temp; } bool NotEqual ( Time x ) const // Ob //{ return (hrs!=x.hrs || mins!=x.mins || secs!=x.secs); } { return !Equal(x); } }; enum ZoneType {EST, CST, MST, PST, EDT, CDT, MDT, PDT}; // Declare a Subclass class ExtTime : public Time { ZoneType zone; // has 8 values (above) public: ExtTime () { zone = EST; } ExtTime (int h, int m, int s, ZoneType z) : Time (h,m,s) { zone = z; } void Set (int h, int m, int s, ZoneType z) // We have to declare another set because Time has no zone subclass { Time :: Set (h,m,s); zone = z; } void Write() const { string zString [8] = {"EST", "CST", "MST", "PST", "EDT", "CDT", "MDT","PDT"}; Time :: Write(); cout << " " << zString [zone]; } }; int main() { ExtTime x (8, 35, 0, PST); // make x to 13:30:00 x.Set(13,30,00,EST); // display the x? cout << "The time: "; x.Write(); // cout << "I want more sleep.\n\n"; return 0; }