Object Oriented Programming Syllabus
Unit | Details |
I |
Object Oriented Methodology: Introduction, Advantages and Disadvantages of Procedure Oriented Languages, what is Object Oriented? What is Object Oriented Development? Object Oriented Themes, Benefits and Application of OOPS. Principles of OOPS: OOPS Paradigm, Basic Concepts of OOPS: Objects, Classes, Data Abstraction and Data Encapsulation, Inheritance, Polymorphism, Dynamic Binding, Message Passing |
II |
Classes and Objects: Simple classes (Class specification, class members accessing), Defining member functions, passing object as an argument, Returning object from functions, friend classes, Pointer to object, Array of pointer to object Constructors and Destructors: Introduction, Default Constructor, Parameterized Constructor and examples, Destructors |
III |
Polymorphism: : Concept of function overloading, overloaded operators, overloading unary and binary operators, overloading comparison operator, overloading arithmetic assignment operator, Data Conversion between objects and basic types, Virtual Functions: Introduction and need, Pure Virtual Functions, static Functions, this Pointer, abstract classes, virtual destructors. |
IV |
Program development using Inheritance: Introduction, understanding inheritance, Advantages provided by inheritance, choosing the access specifier, Derived class declaration, derived class constructors, class hierarchies, multiple inheritance, multilevel inheritance, containership, hybrid inheritance. Exception Handling: Introduction, Exception Handling Mechanism, Concept of throw & catch with example |
V |
Templates: Introduction, Function Template and examples, Class Template and examples. Working with Files: Introduction, File Operations, Various File Modes, File Pointer and their Manipulation |
Object Oriented Programming Practicals
Practical No | Details |
1 | Classes and methods |
a | Design an employee class for reading and displaying the employee information, the getInfo() and displayInfo() methods will be used repectively. Where getInfo() will be private method |
b | Design the class student containing getData() and displayData() as two of its methods which will be used for reading and displaying the student information respectively.Where getData() will be private method. |
c | Design the class Demo which will contain the following methods: readNo(), factorial() for calculating the factorial of a number, reverseNo() will reverse the given number, isPalindrome() will check the given number is palindrome, isArmstrong() which will calculate the given number is armStrong or not.Where readNo() will be private method. |
d | Write a program to demonstrate function definition outside class and accessing class members in function definition. |
2 | Using friend functions |
a | Write a friend function for adding the two complex numbers, using a single class |
b | Write a friend function for adding the two different distances and display its sum, using two classes. |
c | Write a friend function for adding the two matrix from two different classes and display its sum. |
3 | Constructors and method overloading |
a | Design a class Complex for adding the two complex numbers and also show the use of constructor. |
b | Design a class Geometry containing the methods area() and volume() and also overload the area() function |
c | Design a class StaticDemo to show the implementation of static variable and static function. |
4 | Operator Overloading |
a | Overload the operator unary(-) for demonstrating operator overloading |
b | Overload the operator + for adding the timings of two clocks, And also pass objects as an argument. |
c | Overload the + for concatenating the two strings. For e.g “Py” + “thon” = Python |
5 | Inheritance |
a | Design a class for single level inheritance using public and private type derivation. |
b | Design a class for multiple inheritance. |
c | Implement the hierarchical inheritance |
6 | Virtual functions and abstract classes |
a | Implement the concept of method overriding. |
b | Show the use of virtual function |
c | Show the implementation of abstract class |
7 | String handling |
a | String operations for string length , string concatenation |
b | String operations for string reverse, string comparison, |
c | Console formatting functions. |
8 | Exception handling |
a | Show the implementation of exception handling |
b | Show the implementation for exception handling for strings |
c | Show the implementation of exception handling for using the pointers. |
9 | File handling |
a | Design a class FileDemo open a file in read mode and display the total number of words and lines in the file. |
b | Design a class to handle multiple files and file operations |
c | Design a editor for appending and editing the files |
1 | Templates |
a | Show the implementation for the following |
b | Show the implementation of template class library for swap function |
c | Design the template class library for sorting ascending to descending and viceversa |
Object Oriented Programming Reference Books
Title | Object Oriented Analysis and Design |
Authors | Timothy Budd |
Publisher | TMH |
Edition | 3rd |
Year | 2012 |
Download Here |
Title | Mastering C++ |
Authors | K R Venugopal, Rajkumar Buyya, T Ravishankar |
Publisher | Tata McGraw Hill |
Edition | 2nd |
Year | 2011 |
Download Here |
Title | C++ for beginners |
Authors | B. M. Hirwani |
Publisher | SPD |
Edition | |
Year | 2013 |
Download Here |
Title | Effective Modern C++ |
Authors | Scott Meyers |
Publisher | SPD |
Edition | |
Year | |
Download Here |
Title | Object Oriented Programming with C++ |
Authors | E. Balagurusamy |
Publisher | Tata McGraw Hill |
Edition | 4th |
Year | |
Download Here |
Title | Learning Python |
Authors | Mark Lutz |
Publisher | O’ Reilly |
Edition | 5th |
Year | 2013 |
Download Here |
Title | Mastering Object Oriented Python |
Authors | Steven F. Lott |
Publisher | Pact Publishing |
Edition | |
Year | 2014 |
Download Here |