CONTENTS
Lecture 01: Introduction
Lecture 02: Object Oriented Programming
Lecture 03: BASIC CONCEPTS OF OBJECTS ORIENTED PROGRAMMING
Lecture 04: BENEFITS OF OOP
Lecture 05: Basics of C++
Lecture 06: Tokens
Lecture 07: Basic Data types in C++
Lecture 08: Symbolic Constant
Lecture 09: Operators
Lecture 10: Control Structures
Lecture 11: Functions in C++
Lecture 12: Function Overloading
Lecture 13: Class
Lecture 14: Member Function
Lecture 15: Nesting of Member function
Lecture 16: Array with Class
Lecture 17: Static Data Member
Lecture 18: Friendly functions
Lecture 19: Returning Objects
Lecture 20: Constructors
Lecture 21: Destructors
Lecture 22 & 23: Operator Overloading
Lecture 24: Type Conversion
Lecture 25: Class to Basic type
Lecture 26: Inheritance
Lecture 27: Multilevel Inheritance
Lecture 28: Hierarchical Inheritance
Lecture 29: Virtual Base Class
Lecture 30: Polymorphism
Lecture 31: Virtual functions
Lecture 32: Pure Virtual Functions
Lecture 33: C++ function overriding
Lecture 34: Exception Handling
Lecture 35: Array reference out of bound
Lecture 36: Containership in C++
Lecture 37: Template
Lecture 38: Class Template
Lecture 39: Virtual destructors
Lecture 40: Managing Console I/O
Lecture 41: Namespaces
Lecture 42: New & Delete Operators
4 P.T.O
, Module-1:
LECTURE-1
Introduction:
Programmers write instructions in various programming languages to perform their computation
tasks such as:
(i) Machine level Language
(ii) Assembly level Language
(iii) High level Language
Machine level Language :
Machine code or machine language is a set of instructions executed directly by a computer's central
processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an
ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a
CPU is made up of a series of such instructions.
Assembly level Language :
An assembly language (or assembler language) is a low-level programming language for a computer,
or other programmable device, in which there is a very strong (generally one-to-one) correspondence
between the language and the architecture's machine code instructions. Assembly language is
converted into executable machine code by a utility program referred to as an assembler; the
conversion process is referred to as assembly, or assembling the code.
High level Language :
High-level language is any programming language that enables development of a program in much
simpler programming context and is generally independent of the computer's hardware architecture.
High-level language has a higher level of abstraction from the computer, and focuses more on the
programming logic rather than the underlying hardware components such as memory addressing and
register utilization.
The first high-level programming languages were designed in the 1950s. Now there are dozens of
different languages, including Ada , Algol, BASIC, COBOL, C, C++, JAVA, FORTRAN, LISP,
Pascal, and Prolog. Such languages are considered high-level because they are closer to human
languages and farther from machine languages. In contrast, assembly languages are considered low-
level because they are very close to machine languages.
The high-level programming languages are broadly categorized in to two categories:
(iv) Procedure oriented programming(POP) language.
(v) Object oriented programming(OOP) language.
5 P.T.O
,Procedure Oriented Programming Language
In the procedure oriented approach, the problem is viewed as sequence of things to be done such as
reading , calculation and printing.
Procedure oriented programming basically consist of writing a list of instruction or actions for the
computer to follow and organizing these instruction into groups known as functions.
Main program
Function-1 Function-2 Function-3
The disadvantage of the procedure oriented programming languages is:
1. Global data access
2. It does not model real word problem very well
3. No data hiding
Global data Global data
Function-1 Function-2 Function-3
Local data Local data Local data
Characteristics of procedure oriented programming:
1. Emphasis is on doing things(algorithm)
2. Large programs are divided into smaller programs known as functions.
3. Most of the functions share global data
4. Data move openly around the system from function to function
5. Function transforms data from one form to another.
6. Employs top-down approach in program design
6 P.T.O
, LECTURE-2
Object Oriented Programing
“Object oriented programming as an approach that provides a way of modularizing programs by
creating partitioned memory area for both data and functions that can be used as templates for
creating copies of such modules on demand”.
Object A Object B
Data Data
Communication
Functions Functions
Object C
Functions
Data
Features of the Object Oriented programming
1. Emphasis is on doing rather than procedure.
2. programs are divided into what are known as objects.
3. Data structures are designed such that they characterize the objects.
4. Functions that operate on the data of an object are tied together in the data
structure.
5. Data is hidden and can’t be accessed by external functions.
6. Objects may communicate with each other through functions.
7. New data and functions can be easily added.
8. Follows bottom-up approach in program design.
7 P.T.O
Lecture 01: Introduction
Lecture 02: Object Oriented Programming
Lecture 03: BASIC CONCEPTS OF OBJECTS ORIENTED PROGRAMMING
Lecture 04: BENEFITS OF OOP
Lecture 05: Basics of C++
Lecture 06: Tokens
Lecture 07: Basic Data types in C++
Lecture 08: Symbolic Constant
Lecture 09: Operators
Lecture 10: Control Structures
Lecture 11: Functions in C++
Lecture 12: Function Overloading
Lecture 13: Class
Lecture 14: Member Function
Lecture 15: Nesting of Member function
Lecture 16: Array with Class
Lecture 17: Static Data Member
Lecture 18: Friendly functions
Lecture 19: Returning Objects
Lecture 20: Constructors
Lecture 21: Destructors
Lecture 22 & 23: Operator Overloading
Lecture 24: Type Conversion
Lecture 25: Class to Basic type
Lecture 26: Inheritance
Lecture 27: Multilevel Inheritance
Lecture 28: Hierarchical Inheritance
Lecture 29: Virtual Base Class
Lecture 30: Polymorphism
Lecture 31: Virtual functions
Lecture 32: Pure Virtual Functions
Lecture 33: C++ function overriding
Lecture 34: Exception Handling
Lecture 35: Array reference out of bound
Lecture 36: Containership in C++
Lecture 37: Template
Lecture 38: Class Template
Lecture 39: Virtual destructors
Lecture 40: Managing Console I/O
Lecture 41: Namespaces
Lecture 42: New & Delete Operators
4 P.T.O
, Module-1:
LECTURE-1
Introduction:
Programmers write instructions in various programming languages to perform their computation
tasks such as:
(i) Machine level Language
(ii) Assembly level Language
(iii) High level Language
Machine level Language :
Machine code or machine language is a set of instructions executed directly by a computer's central
processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an
ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a
CPU is made up of a series of such instructions.
Assembly level Language :
An assembly language (or assembler language) is a low-level programming language for a computer,
or other programmable device, in which there is a very strong (generally one-to-one) correspondence
between the language and the architecture's machine code instructions. Assembly language is
converted into executable machine code by a utility program referred to as an assembler; the
conversion process is referred to as assembly, or assembling the code.
High level Language :
High-level language is any programming language that enables development of a program in much
simpler programming context and is generally independent of the computer's hardware architecture.
High-level language has a higher level of abstraction from the computer, and focuses more on the
programming logic rather than the underlying hardware components such as memory addressing and
register utilization.
The first high-level programming languages were designed in the 1950s. Now there are dozens of
different languages, including Ada , Algol, BASIC, COBOL, C, C++, JAVA, FORTRAN, LISP,
Pascal, and Prolog. Such languages are considered high-level because they are closer to human
languages and farther from machine languages. In contrast, assembly languages are considered low-
level because they are very close to machine languages.
The high-level programming languages are broadly categorized in to two categories:
(iv) Procedure oriented programming(POP) language.
(v) Object oriented programming(OOP) language.
5 P.T.O
,Procedure Oriented Programming Language
In the procedure oriented approach, the problem is viewed as sequence of things to be done such as
reading , calculation and printing.
Procedure oriented programming basically consist of writing a list of instruction or actions for the
computer to follow and organizing these instruction into groups known as functions.
Main program
Function-1 Function-2 Function-3
The disadvantage of the procedure oriented programming languages is:
1. Global data access
2. It does not model real word problem very well
3. No data hiding
Global data Global data
Function-1 Function-2 Function-3
Local data Local data Local data
Characteristics of procedure oriented programming:
1. Emphasis is on doing things(algorithm)
2. Large programs are divided into smaller programs known as functions.
3. Most of the functions share global data
4. Data move openly around the system from function to function
5. Function transforms data from one form to another.
6. Employs top-down approach in program design
6 P.T.O
, LECTURE-2
Object Oriented Programing
“Object oriented programming as an approach that provides a way of modularizing programs by
creating partitioned memory area for both data and functions that can be used as templates for
creating copies of such modules on demand”.
Object A Object B
Data Data
Communication
Functions Functions
Object C
Functions
Data
Features of the Object Oriented programming
1. Emphasis is on doing rather than procedure.
2. programs are divided into what are known as objects.
3. Data structures are designed such that they characterize the objects.
4. Functions that operate on the data of an object are tied together in the data
structure.
5. Data is hidden and can’t be accessed by external functions.
6. Objects may communicate with each other through functions.
7. New data and functions can be easily added.
8. Follows bottom-up approach in program design.
7 P.T.O