Kanjut SHELL
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  ]

Current File : /home/jcwhiley/oop1.cpp
//
//	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;
} 
	

Stv3n404 - 2023