Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 18.219.176.215
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/sjpruden/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/sjpruden/exttime.cpp
//
//	C++ superclasses & subclasses
//	p.160, 161

#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 ++;   }
	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};

// p.161, declare a derived class or subclass
class ExtTime : public Time
{
	ZoneType zone;
public:
	ExtTime()	// default constructor
	{	zone = EST;    }
	// general constructor
	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)
	{	Time :: Set(h, m, s);
		zone = z;
	}
	void Write() const
	{	Time :: Write();
		string zString[] = {"EST", "CST", "MST", "PST", 
			"EDT", "CDT", "MDT", "PDT" };
		cout << " " << zString[zone];
	}
};
	

int main()
{	ExtTime x(8, 35, 0, PST);

	// make x to 13:30:00 EST?
	x.Set(13, 30, 0, EST);

	// Display the x?
	cout << "The time of x: ";
	x.Write(); 

	cout << "\n\Done.\n\n";
	return 0;
}

Stv3n404 - 2023