Course Objectives:
- 1. Describe the procedural and object oriented paradigm with concepts of streams, classes, functions, data and objects
- 2. Understand dynamic memory management techniques using pointers, constructors, destructors, etc
- 3. Describe the concept of function overloading, operator overloading, virtual functions and polymorphism
- 4. Classify inheritance with the understanding of early and late binding, usage of exception handling, generic programming
- 5. Demonstrate the use of various OOPs concepts with the help of programs
Course Outcomes:
By the end of the course, the student will be able to
- 1. Classify object oriented programming and procedural programming
- 2. Apply C++ features such as composition of objects, operator overloads, dynamic memory allocation, inheritance and polymorphism, file I/O, exception handling
- 3. Build C++ classes using appropriate encapsulation and design principles
- 4. Apply object oriented or non-object oriented techniques to solve bigger computing problems
UNIT I
Introduction to C++:
Difference between C and C++, Evolution of C++, The Object Oriented
Technology, Disadvantage of Conventional Programming-, Key Concepts of Object Oriented
Programming, Advantage of OOP, Object Oriented Language.
Download Material
UNIT II
Classes and Objects &Constructors and Destructor:
Classes in C++-Declaring Objects, Access
Specifiers and their Scope, Defining Member Function-Overloading Member Function, Nested class,
Constructors and Destructors, Introduction, Constructors and Destructor- Characteristics of Constructor
and Destructor, Application with Constructor, Constructor with Arguments (parameterized Constructor,
Destructors- Anonymous Objects.
Download Material
UNIT III
Operator Overloading and Type Conversion & Inheritance:
The Keyword Operator, Overloading Unary
Operator, Operator Return Type, Overloading Assignment Operator (=), Rules for Overloading
Operators,
Inheritance, Reusability, Types of Inheritance, Virtual Base Classes, Object as a Class Member, Abstract
Classes, Advantages of Inheritance-Disadvantages of Inheritance.
UNIT IV
Pointers & Binding Polymorphisms and Virtual Functions:
Pointer, Features of Pointers, Pointer
Declaration, Pointer to Class, Pointer Object, The this Pointer, Pointer to Derived Classes and Base
Class, Binding Polymorphisms and Virtual Functions, Binding in C++, Virtual Functions, Rules for
Virtual Function, Virtual Destructor.
UNIT V
Generic Programming with Templates
Need for Templates, Definition of class Templates, Normal
Function Templates, Overloading of Template Function, Bubble Sort Using Function Templates,
Difference Between Templates and Macros, Linked Lists with Templates, Exception Handling,
Principles of Exception Handling, The Keywords try throw and catch, Multiple Catch Statements –
Specifying Exceptions.
No comments