The learning objectives of this course are:

 To understand how C++ improves C with object-oriented features.

 To learn how to write inline functions for efficiency and performance.

 To learn the syntax and semantics of the C++ programming language.

 To learn how to design C++ classes for code reuse.

 To learn how to implement copy constructors and class member functions.

 To understand the concept of data abstraction and encapsulation.

 To learn how to overload functions and operators in C++.

 To learn how containment and inheritance promote code reuse in C++.

 To learn how inheritance and virtual functions implement dynamic binding with polymorphism.

 To learn how to design and implement generic classes with C++ templates.

 To learn how to use exception handling in C++ programs.