This is a simple C++ Program to demonstrate Inheritance. Simpler methods in the classes have been changed to inline code to shorten the file considerably.
In a practical programming situation, methods that are this short should be programmed inline since the actual code to return a simple value is shorter than the code required to send a message to a non-inline method.
#include <iostream> using namespace std; class vehicle { protected: int wheels; float weight; public: void initialize(int in_wheels, float in_weight); int get_wheels(void) { return wheels; } float get_weight(void) { return weight; } float wheel_loading(void) { return weight / wheels; } }; class car: public vehicle { int passenger_load; public: void initialize(int in_wheels, float in_weight, int people = 4); int passengers(void) { return passenger_load; } }; class truck: public vehicle { int passenger_load; float payload; public: void init_truck(int how_many = 2, float max_load = 24000.0); float efficiency(void); int passengers(void) { return passenger_load; } }; main() { vehicle unicycle; unicycle.initialize(1, 12.5); cout << "The unicycle has " << unicycle.get_wheels() << " wheel.\n"; cout << "The unicycle's wheel loading is " << unicycle.wheel_loading() << " pounds on the single tire.\n"; cout << "The unicycle weighs " << unicycle.get_weight() << " pounds.\n\n"; car sedan; sedan.initialize(4, 3500.0, 5); cout << "The sedan carries " << sedan.passengers() << " passengers.\n"; cout << "The sedan weighs " << sedan.get_weight() << " pounds.\n"; cout << "The sedan's wheel loading is " << sedan.wheel_loading() << " pounds per tire.\n\n"; truck semi; semi.initialize(18, 12500.0); semi.init_truck(1, 33675.0); cout << "The semi weighs " << semi.get_weight() << " pounds.\n"; cout << "The semi's efficiency is " << 100.0 * semi.efficiency() << " percent.\n"; } // initialize to any data desired void vehicle::initialize(int in_wheels, float in_weight) { wheels = in_wheels; weight = in_weight; } void car::initialize(int in_wheels, float in_weight, int people) { passenger_load = people; wheels = in_wheels; weight = in_weight; } void truck::init_truck(int how_many, float max_load) { passenger_load = how_many; payload = max_load; } float truck::efficiency(void) { return payload / (payload + weight); }
Output of the C++ program
The unicycle has 1 wheel. The unicycle's wheel loading is 12.5 pounds on the single tire. The unicycle weighs 12.5 pounds. The sedan carries 5 passengers. The sedan weighs 3500 pounds. The sedan's wheel loading is 875 pounds per tire. The semi weighs 12500 pounds. The semi's efficiency is 72.9291 percent.