UTA018: OBJECT ORIENTED PROGRAMMING
L T P Cr
3 0 2 4.0
Course Objectives: To become familiar with object oriented programming concepts and be able to apply these concepts in solving diverse range of applications.
Objects and Classes: Structure in C and C++, Class specification, Objects, Data hiding, Encapsulation and abstraction, namespaces, Array of objects, Passing objects as arguments, Returning object from a function, inline functions, Static data member and member function, ‘const’ member function.
Constructor and Destructor: Constructors, Parameterized Constructors, Constructor Overloading, Constructors in array of objects, Constructors with default arguments, Dynamic Initialization, Pointer to objects, this pointer, Dynamic memory allocation, Array of pointer to objects, Copy Constructor, Static objects, Friend function, and Friend classes.
Inheritance: Derived Class declaration, Public, Private and Protected Inheritance, friend function and Inheritance, Overriding member function, Forms of inheritance, virtual base class, Abstract class, Constructor and Inheritance, Destructor and Inheritance, Advantage and disadvantage of Inheritance.
Polymorphism: Classification of Polymorphism, Compile time and Run time Polymorphism, Pointers to derived class object, Virtual functions, Pure virtual functions.
Operator Overloading and Type Conversion: Syntax of operator overloading, Overloading Unary operator and Binary operator, Overloading arithmetic operator, relational operator, Overloading Unary operator and Binary operator using friend function, Data conversion, Overloading some special operators like (), []
File handling: Formatted I/O, Hierarchy of file stream classes, Opening and closing a file, Working with multiple files, file modes, file pointers, Text vs Binary Files.
Templates: Need of template, Function templates, Function template with non-type parameter, Overloading function templates, Class templates, Class template with non-type parameter.
Exception Handling: Exception handling mechanism, Multiple Catch Blocks, Catch All exceptions, Throw an exception, Exception Specification.
Standard Template Library: Fundamental idea about string, iterators, hashes and other types, The String and Vector classes vs C-style pointers
Laboratory work:
Through e-box learning.
Course Learning Outcomes (CLOs):
1. Understand the basic concept of Classes, objects and Object Orientation, with basic layout of an object oriented program.
2. Comprehend the concept of constructors and destructors.
3. Demonstrate the prime concepts viz. overloading, polymorphism, abstraction and Inheritance of an object oriented paradigm.
4. Grasp the File handling concepts and be able to use files.
5. Use template and Exception handling in an object oriented programming.
Evaluation scheme (tentative)
1. MST 25
2. EST 45
3. Sessional 30 (10 e-box learning + 5 e-box assignment + 15 from quiz)
Text Books:
Schildt H., C++: The Complete Reference, Tata Mcgraw Hill (2003) 4th ed.
Lippman B. S., Lajoie J., and Moo E. B., C++ Primer, Addison-Wesley Professional (2013) 5th ed.
Reference books:
Lafore R., Object-Oriented Programming in C++, Pearson Education (2002) 4th ed.
E Balagurusamy, Object Oriented Programming with C++ (2017) 7th ed.
Stroustrup B., The C++ programming language, Pearson Education India (2013) 4th ed.