The following code example is taken from the book
Object-Oriented Programming in C++
by Nicolai M. Josuttis, Wiley, 2002
© Copyright Nicolai M. Josuttis 2002
#ifndef BOAT_HPP
#define BOAT_HPP
// include header file for I/O
#include <iostream>
namespace CPPBook {
/* Boat class
* - suitable for inheritance
*/
class Boat {
protected:
int sm; // sea miles traveled
public:
// default constructor, and one-parameter constructor
Boat(int d = 0) : sm(d) { // initialize distance traveled
}
// travel a certain distance
virtual void travel(int d) {
sm += d; // add additional sea miles
}
// output distance traveled
virtual void printTraveled() {
std::cout << "The boat has traveled "
<< sm << " sm " << std::endl;
}
virtual ~Boat() { // virtal destructor
}
};
} // namespace CPPBook
#endif // BOAT_HPP