Need help with c++ coding project

Job ID: 35029822

Budget: $10 – $30 USD

You will be given class headers and a driver shell with declarations to help you get started. You will be given a Base class called Vehicle and you will implement two derived classes called Car (that inherits from Vehicle) and Plane (that inherits from Vehicle). Vehicle holds common attributes and behaviors. One attribute specific to Plane is altitude(height at which it is flying). One attribute specific to Car is wheel size. This program shows that a car object demonstrates all the common attributes and in addition, can have wheelSize and display it: a plane object is a vehicle and so similar to a car object except that it can fly at a certain altitude.
Observe how overriding of behaviors works in C++. If the base class and the derived class have the same method, then the method that is called at run time needs to be the method of the derived class. However, in order to make this happen (without Polymorphism), when the derived object is declared, it has be declared of derived type and created of derived type. If it is declared of base type and created of derived type, then overriding will not occur. So in the following
a) Shared_ptr<Base_Type> object = make_shared<Derived_Type>() // no overriding
b) Shared_ptr<Declared_Type> object = make_shared<Derived_Type>() // overriding
If a method transport is available in the base class and also in the derived class, then object->transport will call the transport of base class in the above situation a) and the transport of derived class will be called in the situation b).
For object->transport to call the transport method in situation b, Polymorphism will need to be used. We will see this in the next project
Polymorphism is not yet available in this project and we will see that even though all classes define the toString() class, it is the Vehicle’s method that is called when the declarations are of type a)
Example shared_ptr<Vehicle> car = make_shared<Car>()
Examine the UML diagrams below for specifications and details of these classes
Specifications:
You do NOT need to write a driver. Use the one provided in the template. Name it VehicleMain.cpp
You are given VehicleHeader.h, Vehicle.cpp // The entire class is given to you
You are given PlaneHeader.h and CarHeader.h // Headers of derived classes given
You need to implement methods in Plane.cpp and Car.cpp
Related categories: UML Design C++ Programming