date class [version 942]

Bjarne Stroustrup “Programming Principles and Practice Using C++”
Chapter 9 Drill 2
Using std_lib_facilities.h by Bjarne Stroustrup.

[code language=”cpp”]
// Philipp Siedler
// Bjarne Stroustrup’s PP
// Chapter 9 Drill 2

#include "std_lib_facilities.h"

struct Date {
int y, m, d;
Date(int y, int m, int d);
void add_day(int n);
};

Date::Date(int _y, int _m, int _d) {
y = _y;
m = _m;
d = _d;
}

void Date::add_day(int n) {
d += n;
}

int main()
try
{
Date today { 1978, 6, 25 };
Date tomorrow = today;

tomorrow.add_day(1);

cout << "Year: " << today.y << " Month: " << today.m << " Day: " << today.d << "\n";
cout << "Year: " << tomorrow.y << " Month: " << tomorrow.m << " Day: " << tomorrow.d << "\n";

keep_window_open();
}

catch(runtime_error e) {
cout << e.what() << "\n";
keep_window_open();
}
catch (…) {
cout << "Exiting\n";
keep_window_open();
}
[/code]

Output:
Year: 1978 Month: 6 Day: 25
Year: 1978 Month: 6 Day: 26
Please enter a character to exit

2 Comments

  1. where did you learn to put underscores to initialize the members?
    i dont see anywhere in the book that explained this..

    ex:
    Date::Date(int _y, int _m, int _d) {
    y = _y;
    m = _m;
    d = _d;
    }

  2. edit**
    i dont see anywhere around section 9.4.2 that explains this..

Leave a Reply