1. Introduction to C++
Starting with C++
How C++ evolved from C?
Features of C++
Procedure-oriented programming
OOP vs. procedure-oriented programming
The basic anatomy of a C++ program
Starting with a simple “Hello World” program
Compiling, linking and running a C++ program 2. Object-Oriented Programming Concepts
Abstraction
Inheritance
Polymorphism
Data Binding
Encapsulation
Classes, subclasses and Objects 3. The Basics of C++
Base Data Types and sizes
User-defined Data Types
Variable Declarations, Variable Names
Dynamic initialization of variables
Constants and its types
Character Constants
String Constants
Standard input and standard output
Formatted input –cin
Formatted output – cout
Use of << and >> operators 4. Working with Operators and Expressions
Operators
Arithmetic Operators
Relational Operators
Assignment Operator
Logical Operators
Increment and Decrement Operators (++ and –)
Operate-Assign’ Operators (+=, *=, …)
Expressions
What are Expressions?
Operator Precedence
Precedence and Order of Evaluation
Conditional Expression
Casting and type conversion 5. Controlling the Program Flow
Decision control
if
if – else
if – else if
Loop Control
while
do – while
for
break
continue
Case Control
switch
goto
6. Using Functions/Procedures
Why Functions?
Anatomy of a Function
Returning values from functions
Arguments Passed by Value
Passing Addresses of Arguments
Concept of variable scope and scope rules
Static and automatic variables
Global variables 7. Pointers and Arrays
Pointers
What is a Pointer?
Pointer Initialization
Pointer Operators
The & Operator
C++ syllabus
Pointer Arithmetic
Functions and pointers
Understanding Arrays
Arrays
Initializing Arrays
Passing Arrays to Functions
Pointers and Arrays
Pointer to an Array
Array of pointers
Strings
String I/O
cin and cout member functions
Standard C String functions
Arrays of Strings 8. Binding data and functions
Concept of a class
Defining a class
Creating an object
Object Scope
Data Abstraction
Enforcing Data Encapsulation
this’ Pointer
Dynamic creation of objects
Constructors and Destructors
The Default Constructor
The Destructor
Parameterized Constructors
Copy constructor
Defining member functions
Methods and access modifiers
Accessing class data and methods
Friend class and friendly functions
Returning objects
Arrays of Objects 9. Function and Operator Overloading
Function Overloading
Using overloaded functions
C++ syllabus
Rules for overloading
Operator overloading and its uses
Overloading unary and binary operators
Overloading the assignment operator
Overloading the << Operator
Overloading the increment and decrement operator
Dealing with strings using operators
Converting data types
Basic to class type
Class to basic type
Class to another class type 10. Reusing classes
Inheritance-Base and Derived classes
Inheritance types
Scope Resolution operator
Access Modifiers
Access and Inheritance
Constructors and Inheritance
Multiple & Multilevel Inheritance
Calling base class constructor
Overriding base class members 11. Virtual functions and Polymorphism
Virtual & non-virtual Overriding
Virtual functions
Rules for virtual functions
Pure virtual functions
Static and Dynamic Binding
Virtual base classes 12. Exception Handling
Exception handling