This module is designed to acquaint the students with the basics of C++ programming language.
Introduction to OO Paradigm, Structured Versus object oriented programming, Objects and Class, features of object oriented language (encapsulation, data abstraction, inheritance, Object composition, Polymorphism) Merits & demerits of OO methodology, Hello World Program and C++ program structure. Data Types, Operators: Tokens, identifiers and keywords, data types and size, Variables, Variable definition and initialization, constants, Operators (Arithmetic, Relational, logical, Compound assignment, Increment, decrement and conditional operator).
Expression and Precedence: Arithmetic, Relational, logical Expression, Operator Precedence and associatively, promotion and type casting, Different types of comments Control Flow: Statement and blocks, if statement, if–else statement, Nested if–else statement, Switch statement, Break, continue statement, While, for and do-while loops, Scope and Visibility control Modifier. Arrays and Functions: Arrays, operations on Arrays, Multi-Dimensional Arrays, Strings, Strings manipulations and Arrays of strings, functions, Parameter passing, Return by reference, inline functions, Arrays and functions. Library functions.
Classes and Objects: Class specification, Class Objects, Accessing Class Members, Constructors, parameterized constructors, constructor overloading, copy constructor, Order of Constructor and destructor, Static data members. Defining member function out side member function as inline, Accessing Member function within class, Data Hiding, Passing object to functions and returning Objects from functions, friend functions and friend classes.
Inheritance: Introduction, Form of in heritance, Derive class declaration, inheritance and member accessibility, Constructor and Destructor in Derive class, Constructor invocation, Function overloading, Member function overloading, Multi level inheritance, Multiple inheritance, Multi path inheritance, Hybrid Inheritance.
Object Delegation, Composition, Virtual base Class, Virtual Functions, Definition of virtual functions, Pure virtual function, Abstract Classes Virtual function, Dynamic binding.