diff --git a/CM2005 Object Oriented Programming/Topic 6/6.5.1 Inheritance.cpp b/CM2005 Object Oriented Programming/Topic 6/6.5.1 Inheritance.cpp new file mode 100644 index 0000000..0f639d8 --- /dev/null +++ b/CM2005 Object Oriented Programming/Topic 6/6.5.1 Inheritance.cpp @@ -0,0 +1,67 @@ +#include + +class Vehicle +{ + public: + Vehicle(); + float getspeed(); + void accelerate(); + void beepHorn(); + private: + float speed; +}; + +class Train : public Vehicle +{ + public: + Train(); + void beepHorn(); +}; + +Train::Train() +{ + +} + +void Train::beepHorn() +{ + if(getspeed() < 0.5) + { + std::cout << "bip" << std::endl; + } + else + { + std::cout << "BOOP BIP" << std::endl; + } +} + +Vehicle::Vehicle() : speed(0.0f) +{ + +} + +float Vehicle::getspeed() +{ + return speed; +} + +void Vehicle::accelerate() +{ + speed += 0.5f; +} + +void Vehicle::beepHorn() +{ + std::cout << "meep meep" << std::endl; +} + +int main() +{ + Vehicle v; + v.beepHorn(); + + Train t; + t.beepHorn(); + t.accelerate(); + t.beepHorn(); +} \ No newline at end of file