class Boat
1: /** @file boat.hpp
2: Based on an example from N. Josuttis, Object-Oriented Programming in C++.
3: */
4:
5: #include <iostream>
6: using namespace std;
7:
8: namespace Josuttis
9: {
10: class Boat
11: {
12: public:
13: Boat
14: (
15: int distance = 0 //in
16: )
17: : milesAtSea(distance)
18: {
19: cout << "\nBoat constructor called.";
20: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
21: }
22:
23: virtual ~Boat()
24: {
25: cout << "\nBoat destructor called.";
26: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
27: }
28:
29: virtual void travel
30: (
31: int distanceTraveled //in
32: )
33: {
34: milesAtSea += distanceTraveled;
35: }
36:
37: virtual void display()
38: {
39: cout << "\nThe boat has traveled " << milesAtSea
40: << " miles at sea.";
41: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n');
42: }
43:
44: protected:
45: int milesAtSea; //Ocean distance traveled
46: };
47: }