To learn how C++ supports Object Oriented principles such as abstraction, polymorphism etc To understand and apply the principles hiding, localization and modularity in software development.Use the generic programming features of C++ including the STL. Design and implement reliable and maintainable object-oriented applications of moderate complexity composed of several classes.