const Time noon(12, 0, 0);Only constant member functions can call for constant objects.
class TimeType
{
public: // Public member functions
void Set( int hours, int minutes, int seconds );
void Increment();
void Write() const; // const member functions:
// not to modify the private data
private: // Private data, default
int hrs;
int mins;
int secs;
};
#include "time.h"
class TimeCard
{
public:
void Punch( int hours, int minutes, int seconds );
void Print() const;
TimeCard( long idNum, int initHrs, int initMins, int initSecs );
TimeCard();
private:
long id;
Time timeStamp;
};
void TimeCard::Print() const
{
cout << "ID: " << id << " Time: ";
timeStamp.Write();
}
void TimeCard::Punch( int hours, int minutes, int seconds )
{
timeStamp.Set(hours, minutes, seconds);
}
TimeCard::TimeCard( long idNum, int initHrs, int initMins, int initSecs )
:timeStamp( initHrs, initMins, initSecs ) // Constructor initiator
// use member object
{
id = idNum;
}
Note: for Constructor initiator
With inheritance, specify the name of the base class
With composition, specify the name of the member object
class Date
{
public:
void Print() const;
void CopyFrom( Date otherDate ); // deep copy
Date( int initMo, int initDay, int initYr, const char* msgStr );
// Constructor, shallow copy
Date( const Date& otherDate );
// Copy-constructor
~Date();
private:
int mo;
int day;
int yr;
char* msg;
};
Notes:
Date::~Date() // Destructor
{
delete [] msg;
}
t.setHour(18).setMinute(30).setSecond(22);
int Employee::getCount = 0;
in employ1.cpp