Syllabus

CS2203         OBJECT-ORIENTED PROGRAMMING

 

AIM:

To understand the concepts of object-oriented programming and master OOP using C++.

 

UNIT I            

Object oriented programming concepts – objects – classes – methods and messages – abstraction and encapsulation – inheritance – abstract classes – polymorphism. Introduction to C++ – classes – access specifiers – function and data members – default arguments – function overloading – friend functions – const and volatile functions – static members – Objects – pointers and objects – constant objects – nested classes – local classes

 

UNIT II

Constructors – default constructor – Parameterized constructors – Constructor with dynamic allocation – copy constructor – destructors – operator overloading – overloading through friend functions – overloading the assignment operator – type conversion – explicit constructor

 

UNIT III

Function and class templates - Exception handling – try-catch-throw paradigm – exception specification – terminate and unexpected functions – Uncaught exception.

 

UNIT IV

Inheritance – public, private, and protected derivations – multiple inheritance – virtual base class – abstract class – composite objects Runtime polymorphism – virtual functions – pure virtual functions – RTTI – typeid – dynamic casting – RTTI and templates – cross casting – down casting .

 

UNIT V

Streams and formatted I/O – I/O manipulators - file handling – random access – object serialization – namespaces - std namespace – ANSI String Objects – standard template library.

 

TEXT BOOKS:

1.    B. Trivedi, “Programming with ANSI C++”, Oxford University Press, 2007.

 

REFERENCES:

1.    Ira Pohl, “Object Oriented Programming using C++”, Pearson Education, Second Edition Reprint 2004.

2.    S. B. Lippman, Josee Lajoie, Barbara E. Moo, “C++ Primer”, Fourth Edition, Pearson Education, 2005.

3.    B. Stroustrup, “The C++ Programming language”, Third edition, Pearson Education, 2004.