
Explore access specifiers in c++ to control visibility of class members, including public, private, and protected, enabling data hiding through example programs and syntax guidance.
Explore encapsulation in C++, wrapping data and methods in a class to protect internal state, hide implementation, and provide a public interface through which objects interact.
Learn single inheritance by showing how a derived class inherits properties from a base class, with class A as base and class B as derived.
Explore multiple inheritance in C++ by deriving a class from multiple base classes, access shared and own members, and review a runnable example with A, B, and C.
Explore polymorphism in C++, comparing compile-time overloading with runtime dynamic binding via virtual functions, including function overriding and pure virtual concepts.
Learn how function overloading uses the same name with different parameter lists to enable multiple definitions, while the compiler resolves calls by signature matching, type conversions, and avoiding ambiguity.
See how virtual functions enable dynamic binding through base class pointers and are overridden by derived classes. Learn how pure virtual functions define abstract base classes that require derived implementations.
Define a custom exception class derived from std::exception, then throw and catch it to handle application-specific errors in C++.
Explore how a class template in C++ lets a single class handle different data types. See an example with template parameters and objects using float and int that display sums.
This course introduces students to the C++ programming language, covering essential concepts, such as Object Oriented Programming, Features of C++, I/O Operations, Data Types, Variables-Static, Constants, Pointers, Type Conversions, Conditional and looping statements, C++ features, Class and Objects, Abstraction and Encapsulation, Access Specifiers, Methods, Constructors, types of constructors, destructor, Inheritance, Types, Single and Multiple Inheritance, Multilevel Inheritance, Hierarchical Inheritance, Hybrid Inheritance, Advanced Functions, Inline, Friend, Virtual, Pure Virtual function, Abstract class, Exception handling. Prerequisites include a basic understanding of programming concepts, while familiarity with another programming language is helpful but not required.
Instructional Objectives
1. Describe the features of object-oriented programming using C++.
2. Understand object-oriented design methodologies for real-time application development. 3. Learn and understand Method overloading and operator overloading.
4. Conceptualize Inheritance and its types.
5. Understand and apply Inline, friend and virtual functions and create application development programs.
6. Understand and apply Templates, Exceptional handling and collections for real-time object- oriented programming applications.
Reference Books
1. Sourav Sahay, Object Oriented Programming with C++, 2nd ed., Oxford University Press, 2017 4. Robert Lafore, Object-Oriented Programming in C++, 4th ed., SAMS Publishing, 2008
2. Reema Thareja, Object Oriented Programming with C++, 1st ed., Oxford University Press, 2015
3. Sourav Sahay, Object Oriented Programming with C++, 2nd ed., Oxford University Press, 2017