Object Programming

The goal of this course is to teach the basics of object oriented programming through the C++ programming language: object, class, abstraction, hierarchy, encapsulation, inheritance, polymorphism, overloading. Through this course, the students will be introduced to dynamic memory allocation, creating abstract data types, constructors and destructors, creating constants, creating static class members, using friend functions and friend classes, function overloading, , operator overloading, using polymorphism and virtual functions, as well as using the concept of inheritance for building a class hierarchy, Alongside the theoretical concepts, the students will learn to implement object-orient programs in C++.