
Explore the basics of c++ and its features, compare object oriented programming with procedure oriented programming, and examine c++ advantages like object orientation, rich libraries, memory management, and pointers.
Learn how to declare and initialize variables in C++ and manage their values across memory locations using int, float, and char types, with proper naming rules.
Learn about constants in c++ by using the const keyword or the #define macro, understand literals and syntax, and review an example computing the area of a square.
Explore one-dimensional, two-dimensional, and multidimensional arrays in C++, including declaration, initialization, indexing from zero, and example programs that access and display elements.
Learn how static data members are shared across all class instances and how static member functions are called on the class itself using the scope resolution operator, with examples.
Explore looping statements in C++ by understanding for, while, and do-while loops, including their initialization, conditions, and increment steps to control repeated execution.
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.
Explore constructors in C++, including default, parameterized, and copy constructors, and how they initialize object data members automatically, with syntax inside and outside the class and key behaviors.
Define a destructor as a tilde-named special member function auto-invoked when an object goes out of scope to release memory; it cannot be overloaded and takes no arguments.
Explore inheritance in C++ by defining derived classes from base classes, inheriting members, and learning single, multi-level, hierarchical, multiple, and hybrid inheritance.
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.
Explains multi-level inheritance in C++, where class b is intermediate base between a and c, using an a–b–c chain and grandmother–daughter–child example, plus a program demonstrating add, subtract, and multiply.
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 hierarchical inheritance in C++, where multiple derived classes share a single base class. Learn the syntax, access patterns, and a full example with classes A, B, and C.
Explore hybrid inheritance in c++, where single, multiple, and hierarchical inheritance combine in a single class hierarchy with A, B, C, and D.
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.
Explore constructor overloading in c++, using the same class name for multiple constructors with different argument lists, including default and parameterized forms, and learn how objects pick the correct one.
Explore operator overloading in C++, a compile-time polymorphism feature that lets you redefine existing operators for user-defined types, using unary and binary forms and friend functions.
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.
Discover how inline functions reduce context switching by substituting code at compile time, compare inline with macros, and learn syntax, limitations, and differences from virtual functions.
Explore how friend functions and friend classes enable non-member access to private and protected members, balancing encapsulation with external utilities through syntax, examples, and advantages and restrictions.
Explore exception handling in C++, learn standard exceptions and their types, including synchronous and asynchronous errors, and how runtime anomalies are detected, grouped, and handled to keep programs robust.
Explore try, throw, and catch in C++ to detect and handle errors, including division by zero, with multiple and nested try blocks, and RAII replaces finally.
Define a custom exception class derived from std::exception, then throw and catch it to handle application-specific errors in C++.
Learn function templates in C++ to write generic, type-safe functions that work on many data types. See syntax, benefits over overloading, and a max template example.
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