In this project you will create a C++ application that inherits from a Car class and use aggregation and composition in a class that uses one to many Car objects. A hallmark of Object-Oriented programming is code-reuse. Code re-use allows the developer to use tried and tested code, which results in more reliable code and saves in development time as well. In Object-Oriented Programming in a language such as C++, code re-use can be accomplished in two distinctive ways. One way is to inherit from an existing class by extending its existing functionality. Another common way to re-use code is through aggregation and composition. In aggregation, the class is made up of other existing classes that may exist independent of the child class. In composition, the child class depends on its parent for existence. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.