C++ Classes
Why classes?
reuse, information hiding, minimize test, robust
accountability, refresh/update flexibility, central control
structure of class
public, private
data member, function member
static
code organization - 3 file structure
invoke object
compile time, run time (new / delete)
---------------------
multiple constructors with default arguments
copy constructor -- object memberwise assignment date2 = date1
destructor, when are they called (exercise example)
----------------
constant object, const members
-------------------
object relationship
composition versus inheritance
has-a, is-a
new and delete
static member
friend (?) shall we even talk about this?
abstract data types
-----------------------------------
simplest Time.h
class Time
{
public:
void printTime();
int hour;
int minute;
int second;
}; // end class Time
simplest Time.cpp
#include <iostream>
#include <iomanip>
using namespace std;
#include "Time.h" // include definition of class Time from Time.h
void Time::printTime()
{
cout << "Time is " << setfill( '0' ) << setw( 2 ) << hour << ":"
<< setw( 2 ) << minute << ":" << setw( 2 ) << second<<endl;
}