1: // Filename: REM2.CPP
2: // Purpose: Implementation file corresponding to REM2.H.
4: #include <iostream>
5: #include <cstring>
6: using namespace std;
8: #include "REM2.H"
9: #include "PAUSE.H"
12: // Private members of class:
13: // int date;
14: // char* messagePtr;
16: //******************************************************************
17: Reminder::Reminder(/* in */ int date,
18: /* in */ const char* messageString)
19: {
20: this->date = date;
21: messagePtr = new char[strlen(messageString) + 1];
22: strcpy(messagePtr, messageString);
24: // Un-comment the following two lines for run-time confirmation
25: // that this constructor has been called:
26: // cout << "Now in constructor for class Reminder (version 2) ... \n";
27: // Pause(0); cout << endl;
28: }
31: //******************************************************************
32: Reminder::~Reminder()
33: // Destructor
34: // Pre: self is initialized.
35: // Post: Message string storage pointed to by messagePtr
36: // has been deallocated.
37: {
38: delete [] messagePtr;
40: // Un-comment the following two lines for run-time confirmation
41: // that the destructor has been called:
42: // cout << "Now in the destructor for class Reminder (version 2) ... \n";
43: // Pause(0); cout << endl;
44: }
47: //******************************************************************
48: void Reminder::Display() const
49: {
50: static char* monthString[12] =
51: {
52: "January", "February", "March", "April",
53: "May", "June", "July", "August",
54: "September", "October", "November", "December"
55: };
57: int year = date/10000;
58: int month = date%10000 / 100;
59: int day = date%10000 % 100;
60: cout << monthString[month-1] << ' ' << day << ", " << year << endl
61: << messagePtr << endl;
62: }