SlideShare a Scribd company logo
1 of 36
UNIT - I
INTRODUCTION TO C++
1.2 EVOLUTION OF C++
• C++ IS AN OBJECT ORIENTED PROGRAMMING LANGUAGE AND EXTENSION OF C.
• BJARNE STROUSTRUP , MASTER OF SIMULA67 AND C COMBINED THE FEATURES
OF BOTH AND DEVELOPED A POWERFUL LANGUAGE THAT SUPPORTS OBJECT
ORIENTED PROGRAMMING WITH FEATURES OF C.
• STROUSTRUP CALLED THE NEW LANGUAGE AS “ C WITH CLASSES “ . IN 1983 IT
WAS NAMED AS C++.
• C++ IS A SUPERSET OF C.
1.2 EVOLUTION OF C++
1.3 THE ANSI STANDARD
• ANSI – AMERICAN NATIONAL STANDARDS INSTITUTE.
• INSTITUTE FOUNDED IN 1918 – GOAL OF THIS INSTITUTE WAS
• TO SUGGEST
• REFORM
• RECOMMEND
• AND PUBLISH STANDARDS FOR DATA PROCESSING IN USA.
• RECOGNIZED COUNCIL MADE INTERNATIONAL STANDARD FOR C++
• C++ IS ALSO REFERRED AS ISO STANDARD.
• FIRST DRAFT WAS MADE ON 25 JANUARY 1994.
• ANSI STANDARD ATTEMPT TO ENSURE THAT C++ IS PORTABLE.
1.7 PREFACE TO OBJECT ORIENTED
PROGRAMMING
• THE PROCEDURAL LANGUAGE DOES NOT ALLOW THE DATA TO FLOW FREELY
AROUND THE SYSTEMS
• TIES TO THE FUNCTIONS THAT OPERATE ON IT AND PREVENTS FROM
ACCIDENTAL CHANGE
• OOP PERMITS TO ANALYZE A PROBLEM INTO NUMBER OF ITEMS CALLED OBJECTS
AND ASSEMBLES DATA AND FUNCTIONS.
CHARACTERISTICS OF OOP
• OOP PAYS MORE IMPORTANCE OF DATA RATHER THAN FUNCTION
• PROGRAMS ARE DIVIDED INTO CLASSES AND THEIR MEMBER
FUNCTION
• OOP FOLLOWS BOTTOM UP APPROACH
• NEW DATA ITEMS AND FUNCTIONS CAN BE ADDED WHENEVER
NEEDED
• DATA IS PRIVATE AND PREVENTED FROM ACCESSING EXTERNAL
FUNCTIONS
• OBJECTS COMMUNICATE WITH EACH OTHER THROUGH FUNCTIONS
RELATION BETWEEN DATA AND MEMBER FUNCTIONS
IN OOP
OBJECT A OBJECT B OBJECT C
Data variables
Member
function
Data
variables
Member
function
Data variables
Member
function
Data variables
Member
function
Data variables
Member
function
Data variables
Member
function
1.8 KEY CONCEPTS OF OBJECT ORIENTED
PROGRAMMING`
OBJECT ORIENTED PARADIGM
C++
Encapsulati
on
Data
Abstraction
Inheritance
Polymorphi
sm
Delegation
Genericity
C++ CLASSES AND OBJECTS
• C++ IS AN OBJECT-ORIENTED PROGRAMMING LANGUAGE.
• EVERYTHING IN C++ IS ASSOCIATED WITH CLASSES AND OBJECTS,
ALONG WITH ITS ATTRIBUTES AND METHODS. FOR EXAMPLE. IN REAL
LIFE, A CAR IS AN OBJECT. THE CAR HAS ATTRIBUTES, SUCH AS WEIGHT
AND COLOR, AND METHODS, SUCH AS DRIVE AND BRAKE.
• ATTRIBUTES AND METHODS ARE
BASICALLY VARIABLES AND FUNCTIONS THAT BELONGS TO THE CLASS,
THESE ARE OFTEN REFERRED TO AS "CLASS MEMBERS".
• A CLASS IS A USER-DEFINED DATA TYPE THAT WE CAN USE IN OUR
PROGRAM, AND IT WORKS AS AN OBJECT CONSTRUCTOR, OR A
"BLUEPRINT" FOR CREATING OBJECTS.
(1) OBJECTS
• OBJECTS ARE PRIMARY RUNTIME ENTITIES IN OBJECT ORIENTED
PROGRAMMING
• EG. A SPOT , A PERSON , ANY DATA ITEM RELATED TO PROGRAM INCLUDING
USER-DEFINED DATA TYPES.
• OBJECTS OCCUPY SPACE IN MEMORY
• EVERY OBJECTS HAS ITS OWN PROPERTIES AND FEATURES
• CAN BE RECOGNIZED BY ITS NAME
OBJECTS
• OBJECTS COMMUNICATE WITH EACH OTHER BY SENDING MESSAGES.
• AN OBJECT CAN BE REPRESENTED BY
• THE NAME OF THE ABOVE OBJECT IS CITY
• ITS DATA MEMBERS ARE NAME_OF_CITY, POPULATION AND AREA
• VARIOUS FUNCTIONS ASSOCIATED WITH CITY ARE AVERAGE AGE ,
LITERACY_RATE AND DISPLAY
Object : City
Data :
Name_of_City
Population
Area
Functions :
Average age
Literacy_rate
Display
(2) CLASSES
• A CLASS IS A GROUPING OF OBJECTS THAT HAVE IDENTICAL PROPERTIES , COMMON
BEHAVIOR AND SHARED RELATIONSHIP
• A CLASS BINDS THE DATA AND ITS RELATED FUNCTIONS TOGETHER
• CLASS IDENTIFIES THE NATURE AND METHODS THAT ACT ON THE DATA STRUCTURE
AND ABSTRACT DATA TYPE
• GROUP OF DATA AND CODE OF AN OBJECT CAN BE BUILT AS USER-DEFINED DATA TYPE
BY USING CLASS.
• OBJECTS ARE NOTHING BUT VARIABLES OF TYPE CLASS.
• ONCE A CLASS IS CREATED , A NUMBER OF OBJECTS ASSOCIATED WITH THAT CLASS CAN
BE CREATED
• SYNTAX USED TO CREATE AN OBJECT IS SIMILAR TO CREATE AN INTEGER VARIABLE
• CLASS DEFINES CHARACTERISTIC AND ACTION OF OBJECTS
CLASSES AND THEIR PROPERTIES
CLASSES AND RELATED DATA
DATA TYPE AND ABSTRACT DATA TYPE
• THE DATA TYPE IS BASICALLY A TYPE OF DATA THAT CAN BE USED IN DIFFERENT
COMPUTER PROGRAM. IT SIGNIFIES THE TYPE LIKE INTEGER, FLOAT ETC, THE SPACE LIKE
INTEGER WILL TAKE 4-BYTES, CHARACTER WILL TAKE 1-BYTE OF SPACE ETC.
• THE ABSTRACT DATA TYPE IS SPECIAL KIND OF DATA TYPE, WHOSE BEHAVIOR IS DEFINED
BY A SET OF VALUES AND SET OF OPERATIONS. THE KEYWORD “ABSTRACT” IS USED AS WE
CAN USE THESE DATA TYPES, WE CAN PERFORM DIFFERENT OPERATIONS. BUT HOW
THOSE OPERATIONS ARE WORKING THAT IS TOTALLY HIDDEN FROM THE USER. THE ADT IS
MADE OF WITH PRIMITIVE DATA TYPES, BUT OPERATION LOGICS ARE HIDDEN.
• SOME EXAMPLES OF ADT ARE STACK, QUEUE, LIST ETC.
• LET US SEE SOME OPERATIONS OF THOSE MENTIONED ADT −
• STACK −
• ISFULL(), THIS IS USED TO CHECK WHETHER STACK IS FULL OR NOT
• ISEMPTY(), THIS IS USED TO CHECK WHETHER STACK IS EMPTY OR NOT
• PUSH(X), THIS IS USED TO PUSH X INTO THE STACK
• POP(), THIS IS USED TO DELETE ONE ELEMENT FROM TOP OF THE STACK
• QUEUE −
• ISFULL(), THIS IS USED TO CHECK WHETHER QUEUE IS FULL OR NOT
• ISEMPTY(), THIS IS USED TO CHECK WHETHER QUEUE IS EMPTY OR NOT
• INSERT(X), THIS IS USED TO ADD X INTO THE QUEUE AT THE REAR END
• DELETE(), THIS IS USED TO DELETE ONE ELEMENT FROM THE FRONT END OF THE
QUEUE
• SIZE(), THIS FUNCTION IS USED TO GET NUMBER OF ELEMENTS PRESENT INTO THE
QUEUE
• LIST −
• SIZE(), THIS FUNCTION IS USED TO GET NUMBER OF ELEMENTS PRESENT INTO THE
LIST
• INSERT(X), THIS FUNCTION IS USED TO INSERT ONE ELEMENT INTO THE LIST
• REMOVE(X), THIS FUNCTION IS USED TO REMOVE GIVEN ELEMENT FROM THE LIST
• GET(I), THIS FUNCTION IS USED TO GET ELEMENT AT POSITION I
• REPLACE(X, Y), THIS FUNCTION IS USED TO REPLACE X WITH Y VALUE
(3) METHOD
• AN OPERATION REQUIRED FOR AN OBJECT OR ENTITY WHEN CODED IN A CLASS
IS CALLED A METHOD
• OPERATIONS REQUIRED FOR AN OBJECT ARE TO BE DEFINED IN THE CLASS
• ALL OBJECTS CARRY CERTAIN ACTIONS OR OPERATIONS
• EACH ACTION NEEDS AN OBJECT THAT BECOMES A FUNCTION IN THE CLASS
THAT DEFINES IT AND IS REFERRED AS A METHOD
REPRESENTATION OF METHODS IN DIFFERENT
MANNERS
REPRESENTATION OF METHODS IN DIFFERENT
MANNERS
(4) DATA ABSTRACTION
• ABSTRACTION REFERS TO THE PROCEDURE OF REPRESENTING ESSENTIAL FEATURES
WITHOUT INCLUDING THE BACKGROUND DETAILS
• CLASSES USE THEORY OF ABSTRACTION AND ARE DEFINED AS LIST OF ABSTRACT
PROPERTIES
SUCH AS SIZE , COST , HEIGHT , AND FEW FUNCTIONS TO OPERATE ON THESE
PROPERTIES
• DATA ABSTRACTION - PROCEDURE FOR IDENTIFYING PROPERTIES AND METHODS
RELATED TO SPECIFIC ENTITY.
• DATA ABSTRACTION USED TO DEFINE A DATA TYPE AVAILABLE IN PROGRAMMING
LANGUAGE CALLED ABSTRACT DATA TYPE(ADT) – CONSISTS OF SET OF VALUES
AND SET OF OPERATIONS.
EG. DATA ABSTRACTION
(5) ENCAPSULATION
• THE PACKING OF DATA AND FUNCTIONS INTO A SINGLE COMPONENT
• C++ SUPPORTS ENCAPSULATION USING CLASSES
• DATA NOT REACHABLE BY OUTSIDE FUNCTION , ONLY THOSE FUNCTIONS THAT
ARE ABLE TO ACCESS THE DATA ARE DEFINED WITHIN THE CLASS
• THESE FUNCTIONS PREPARE INTERFACE BETWEEN OBJECTS DATA AND PROGRAM
• WITH ENCAPSULATION DATA HIDING IS POSSIBLE
• IMPORTANT FEATURE WHERE AN OBJECT CAN BE USED WITHOUT USER KNOWING
HOW IT WORKS INTERNALLY.
ENCAPSULATION
(6) INHERITANCE
• INHERITANCE IS THE METHOD BY WHICH OBJECTS OF ONE CLASS GET THE
PROPERTIES OF OBJECTS OF ANOTHER CLASS
• IN OOPS INHERITANCE PROVIDES REUSABILITY
• PROGRAMMER CAN ADD NEW PROPERTIES TO EXISTING CLASS WITHOUT
CHANGING IT
• THIS CAN BE ACHIEVED BY DERIVING A NEW CLASS FROM EXISTING CLASS
• THE NEW CLASS WILL HAVE FEATURES OF BOTH THE CLASSES
INHERITANCE
(7) POLYMORPHISM
• ALLOWS THE SAME FUNCTION TO ACT IN A DIFFERENT WAY IN DIFFERENT
CLASSES
• HOLDS THE ABILITY TO TAKE MORE THAN ONE FORM
POLYMORPHISM
(8) DYNAMIC BINDING
• BINDING MEANS CONNECTING ONE PROGRAM TO ANOTHER PROGRAM THAT IS
TO BE EXECUTED IN REPLY TO THE CALL.
• IS ALSO CALLED AS LATE BINDING
• CODE PRESENT IN SPECIFIED PROGRAM IS UNKNOWN TILL IT IS EXECUTED.
(9) MESSAGE PASSING
MESSAGE PASSING
(10) REUSABILITY
• ALLOWS REUSABILITY OF CLASSES BY EXTENDING THEM TO OTHER CLASSES USING
INHERITANCE
(11) DELEGATION
• TWO CLASSES CAN BE JOINED IN 2 WAYS
• INHERITANCE
• DELEGATION
 BOTH PROVIDE REUSABILITY OF CLASSES
 IN INHERITANCE ONE CLASS CAN BE DERIVED FROM OTHER CLASS
 RELATIONSHIP B/N 2 CLASSES- KIND OF RELATIONSHIP
 IF CLASS Y IS DERIVED FROM CLASS X THEN CLASS Y IS KNOWN AS KIND OF X
 WHEN OBJECT OF ONE CLASS IS USED AS DATA MEMBER IN THE OTHER CLASS –
COMPOSITION OF OBJECTS – DELEGATION
 EG. CLASS C HAS 2 DATA MEMBERS , THESE 2 DATA MEMBERS ARE OBJECTS OF
CLASS A AND B –RELATIONSHIP BETWEEN THESE CLASSES IS - HAS A
RELATIONSHIP
DELEGATION
(12) GENERICITY
• S/W COMPONENTS HAVE MORE THAN ONE VERSION DEPENDING ON DATA
TYPES OF ARGUMENTS
• THIS ALLOWS DECLARATION OF VARIABLES WITHOUT SPECIFYING EXACT DATA
TYPE
• COMPILER IDENTIFIES DATA TYPE AT RUNTIME
1.9 ADVANTAGES OF OOP
• CAN BE COMFORTABLY UPGRADED
• USING INHERITANCE , ELIMINATE REDUNDANT PROGRAM CODE AND CONTINUE
THE USE OF PREVIOUSLY DEFINED CLASSES
• DATA HIDING ENABLES PROGRAMMER TO DESIGN AND DEVELOP SAFE
PROGRAMS THAT DOES NOT DISTURB CODE IN OTHER PARTS OF PROGRAM
• ENCAPSULATION ALLOWS TO DEFINE THE CLASS WITH MANY FUNCTIONS AND
CHARACTERISTICS BUT ONLY FEW FUNCTIONS ARE EXPOSED TO USER
• ALLOWS TO CREATE EXTENDED AND REUSABLE PARTS
• OBJECTS COMMUNICATE WITH EACH OTHER AND PASS MESSAGES
1.11 USAGE OF OOP
• SIMULATION
• OBJECT ORIENTED DBMS
• OFFICE AUTOMATION S/W
• AI AND EXPERT SYSTEMS
• CAD/CAM S/W
• N/W PROGRAMMING AND INTERNET APPLICATIONS
• SYSTEM S/W

More Related Content

What's hot

Scalable Data Analysis in R -- Lee Edlefsen
Scalable Data Analysis in R -- Lee EdlefsenScalable Data Analysis in R -- Lee Edlefsen
Scalable Data Analysis in R -- Lee Edlefsen
Revolution Analytics
 
CptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial IntelligenceCptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial Intelligence
butest
 

What's hot (13)

Why R? A Brief Introduction to the Open Source Statistics Platform
Why R? A Brief Introduction to the Open Source Statistics PlatformWhy R? A Brief Introduction to the Open Source Statistics Platform
Why R? A Brief Introduction to the Open Source Statistics Platform
 
Stacks and queues 20 nov 2018
Stacks and queues 20 nov 2018Stacks and queues 20 nov 2018
Stacks and queues 20 nov 2018
 
R programming Language , Rahul Singh
R programming Language , Rahul SinghR programming Language , Rahul Singh
R programming Language , Rahul Singh
 
Scalable Data Analysis in R -- Lee Edlefsen
Scalable Data Analysis in R -- Lee EdlefsenScalable Data Analysis in R -- Lee Edlefsen
Scalable Data Analysis in R -- Lee Edlefsen
 
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
Unit I- Data structures Introduction, Evaluation of Algorithms, Arrays, Spars...
 
A brief introduction to 'R' statistical package
A brief introduction to 'R' statistical packageA brief introduction to 'R' statistical package
A brief introduction to 'R' statistical package
 
CptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial IntelligenceCptS 440 / 540 Artificial Intelligence
CptS 440 / 540 Artificial Intelligence
 
Introduction to the language R
Introduction to the language RIntroduction to the language R
Introduction to the language R
 
Slide 1.-datastructure
Slide 1.-datastructureSlide 1.-datastructure
Slide 1.-datastructure
 
Spatial
SpatialSpatial
Spatial
 
SPARQL and RDF query optimization
SPARQL and RDF query optimizationSPARQL and RDF query optimization
SPARQL and RDF query optimization
 
Wrokflow programming and provenance query model
Wrokflow programming and provenance query model  Wrokflow programming and provenance query model
Wrokflow programming and provenance query model
 
Survey of Graph Indexing
Survey of Graph IndexingSurvey of Graph Indexing
Survey of Graph Indexing
 

Similar to Introduction to C++

Chapter - 1.pptx
Chapter - 1.pptxChapter - 1.pptx
Chapter - 1.pptx
murugeswariSenthilku
 
c++ language presentation.pptx
c++ language presentation.pptxc++ language presentation.pptx
c++ language presentation.pptx
AyushKapooryt
 
Introduction to oop
Introduction to oop Introduction to oop
Introduction to oop
Kumar
 
introduction-to-dbms-unit-1.ppt
introduction-to-dbms-unit-1.pptintroduction-to-dbms-unit-1.ppt
introduction-to-dbms-unit-1.ppt
rekhasai2468
 

Similar to Introduction to C++ (20)

Chapter - 1.pptx
Chapter - 1.pptxChapter - 1.pptx
Chapter - 1.pptx
 
Unit 1 dsuc
Unit 1 dsucUnit 1 dsuc
Unit 1 dsuc
 
OOP Presentation.pptx
OOP Presentation.pptxOOP Presentation.pptx
OOP Presentation.pptx
 
OOP Presentation.pptx
OOP Presentation.pptxOOP Presentation.pptx
OOP Presentation.pptx
 
traffic sign detection using deep learning.pptx
traffic sign detection using deep learning.pptxtraffic sign detection using deep learning.pptx
traffic sign detection using deep learning.pptx
 
c++ language presentation.pptx
c++ language presentation.pptxc++ language presentation.pptx
c++ language presentation.pptx
 
Concept of Object-Oriented in C++
Concept of Object-Oriented in C++Concept of Object-Oriented in C++
Concept of Object-Oriented in C++
 
Ooad ch 2
Ooad ch 2Ooad ch 2
Ooad ch 2
 
Intro to data structures.pptx
Intro to data structures.pptxIntro to data structures.pptx
Intro to data structures.pptx
 
Data structure Definitions
Data structure DefinitionsData structure Definitions
Data structure Definitions
 
DS.pptx
DS.pptxDS.pptx
DS.pptx
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Lecture 01 Intro to DSA
Lecture 01 Intro to DSALecture 01 Intro to DSA
Lecture 01 Intro to DSA
 
c++ Unit I.pptx
c++ Unit I.pptxc++ Unit I.pptx
c++ Unit I.pptx
 
Object Oriented Programming (OOP) Introduction
Object Oriented Programming (OOP) IntroductionObject Oriented Programming (OOP) Introduction
Object Oriented Programming (OOP) Introduction
 
Data Structures - Lecture 1 - Unit 1.pptx
Data Structures  - Lecture 1 - Unit 1.pptxData Structures  - Lecture 1 - Unit 1.pptx
Data Structures - Lecture 1 - Unit 1.pptx
 
Introduction to oop
Introduction to oop Introduction to oop
Introduction to oop
 
Java2
Java2Java2
Java2
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1
 
introduction-to-dbms-unit-1.ppt
introduction-to-dbms-unit-1.pptintroduction-to-dbms-unit-1.ppt
introduction-to-dbms-unit-1.ppt
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

Introduction to C++

  • 2. 1.2 EVOLUTION OF C++ • C++ IS AN OBJECT ORIENTED PROGRAMMING LANGUAGE AND EXTENSION OF C. • BJARNE STROUSTRUP , MASTER OF SIMULA67 AND C COMBINED THE FEATURES OF BOTH AND DEVELOPED A POWERFUL LANGUAGE THAT SUPPORTS OBJECT ORIENTED PROGRAMMING WITH FEATURES OF C. • STROUSTRUP CALLED THE NEW LANGUAGE AS “ C WITH CLASSES “ . IN 1983 IT WAS NAMED AS C++. • C++ IS A SUPERSET OF C.
  • 4. 1.3 THE ANSI STANDARD • ANSI – AMERICAN NATIONAL STANDARDS INSTITUTE. • INSTITUTE FOUNDED IN 1918 – GOAL OF THIS INSTITUTE WAS • TO SUGGEST • REFORM • RECOMMEND • AND PUBLISH STANDARDS FOR DATA PROCESSING IN USA. • RECOGNIZED COUNCIL MADE INTERNATIONAL STANDARD FOR C++ • C++ IS ALSO REFERRED AS ISO STANDARD. • FIRST DRAFT WAS MADE ON 25 JANUARY 1994. • ANSI STANDARD ATTEMPT TO ENSURE THAT C++ IS PORTABLE.
  • 5. 1.7 PREFACE TO OBJECT ORIENTED PROGRAMMING • THE PROCEDURAL LANGUAGE DOES NOT ALLOW THE DATA TO FLOW FREELY AROUND THE SYSTEMS • TIES TO THE FUNCTIONS THAT OPERATE ON IT AND PREVENTS FROM ACCIDENTAL CHANGE • OOP PERMITS TO ANALYZE A PROBLEM INTO NUMBER OF ITEMS CALLED OBJECTS AND ASSEMBLES DATA AND FUNCTIONS.
  • 6. CHARACTERISTICS OF OOP • OOP PAYS MORE IMPORTANCE OF DATA RATHER THAN FUNCTION • PROGRAMS ARE DIVIDED INTO CLASSES AND THEIR MEMBER FUNCTION • OOP FOLLOWS BOTTOM UP APPROACH • NEW DATA ITEMS AND FUNCTIONS CAN BE ADDED WHENEVER NEEDED • DATA IS PRIVATE AND PREVENTED FROM ACCESSING EXTERNAL FUNCTIONS • OBJECTS COMMUNICATE WITH EACH OTHER THROUGH FUNCTIONS
  • 7. RELATION BETWEEN DATA AND MEMBER FUNCTIONS IN OOP OBJECT A OBJECT B OBJECT C Data variables Member function Data variables Member function Data variables Member function Data variables Member function Data variables Member function Data variables Member function
  • 8. 1.8 KEY CONCEPTS OF OBJECT ORIENTED PROGRAMMING` OBJECT ORIENTED PARADIGM C++ Encapsulati on Data Abstraction Inheritance Polymorphi sm Delegation Genericity
  • 9. C++ CLASSES AND OBJECTS • C++ IS AN OBJECT-ORIENTED PROGRAMMING LANGUAGE. • EVERYTHING IN C++ IS ASSOCIATED WITH CLASSES AND OBJECTS, ALONG WITH ITS ATTRIBUTES AND METHODS. FOR EXAMPLE. IN REAL LIFE, A CAR IS AN OBJECT. THE CAR HAS ATTRIBUTES, SUCH AS WEIGHT AND COLOR, AND METHODS, SUCH AS DRIVE AND BRAKE. • ATTRIBUTES AND METHODS ARE BASICALLY VARIABLES AND FUNCTIONS THAT BELONGS TO THE CLASS, THESE ARE OFTEN REFERRED TO AS "CLASS MEMBERS". • A CLASS IS A USER-DEFINED DATA TYPE THAT WE CAN USE IN OUR PROGRAM, AND IT WORKS AS AN OBJECT CONSTRUCTOR, OR A "BLUEPRINT" FOR CREATING OBJECTS.
  • 10. (1) OBJECTS • OBJECTS ARE PRIMARY RUNTIME ENTITIES IN OBJECT ORIENTED PROGRAMMING • EG. A SPOT , A PERSON , ANY DATA ITEM RELATED TO PROGRAM INCLUDING USER-DEFINED DATA TYPES. • OBJECTS OCCUPY SPACE IN MEMORY • EVERY OBJECTS HAS ITS OWN PROPERTIES AND FEATURES • CAN BE RECOGNIZED BY ITS NAME
  • 11. OBJECTS • OBJECTS COMMUNICATE WITH EACH OTHER BY SENDING MESSAGES. • AN OBJECT CAN BE REPRESENTED BY • THE NAME OF THE ABOVE OBJECT IS CITY • ITS DATA MEMBERS ARE NAME_OF_CITY, POPULATION AND AREA • VARIOUS FUNCTIONS ASSOCIATED WITH CITY ARE AVERAGE AGE , LITERACY_RATE AND DISPLAY Object : City Data : Name_of_City Population Area Functions : Average age Literacy_rate Display
  • 12. (2) CLASSES • A CLASS IS A GROUPING OF OBJECTS THAT HAVE IDENTICAL PROPERTIES , COMMON BEHAVIOR AND SHARED RELATIONSHIP • A CLASS BINDS THE DATA AND ITS RELATED FUNCTIONS TOGETHER • CLASS IDENTIFIES THE NATURE AND METHODS THAT ACT ON THE DATA STRUCTURE AND ABSTRACT DATA TYPE • GROUP OF DATA AND CODE OF AN OBJECT CAN BE BUILT AS USER-DEFINED DATA TYPE BY USING CLASS. • OBJECTS ARE NOTHING BUT VARIABLES OF TYPE CLASS. • ONCE A CLASS IS CREATED , A NUMBER OF OBJECTS ASSOCIATED WITH THAT CLASS CAN BE CREATED • SYNTAX USED TO CREATE AN OBJECT IS SIMILAR TO CREATE AN INTEGER VARIABLE • CLASS DEFINES CHARACTERISTIC AND ACTION OF OBJECTS
  • 13. CLASSES AND THEIR PROPERTIES
  • 15. DATA TYPE AND ABSTRACT DATA TYPE • THE DATA TYPE IS BASICALLY A TYPE OF DATA THAT CAN BE USED IN DIFFERENT COMPUTER PROGRAM. IT SIGNIFIES THE TYPE LIKE INTEGER, FLOAT ETC, THE SPACE LIKE INTEGER WILL TAKE 4-BYTES, CHARACTER WILL TAKE 1-BYTE OF SPACE ETC. • THE ABSTRACT DATA TYPE IS SPECIAL KIND OF DATA TYPE, WHOSE BEHAVIOR IS DEFINED BY A SET OF VALUES AND SET OF OPERATIONS. THE KEYWORD “ABSTRACT” IS USED AS WE CAN USE THESE DATA TYPES, WE CAN PERFORM DIFFERENT OPERATIONS. BUT HOW THOSE OPERATIONS ARE WORKING THAT IS TOTALLY HIDDEN FROM THE USER. THE ADT IS MADE OF WITH PRIMITIVE DATA TYPES, BUT OPERATION LOGICS ARE HIDDEN. • SOME EXAMPLES OF ADT ARE STACK, QUEUE, LIST ETC. • LET US SEE SOME OPERATIONS OF THOSE MENTIONED ADT − • STACK − • ISFULL(), THIS IS USED TO CHECK WHETHER STACK IS FULL OR NOT • ISEMPTY(), THIS IS USED TO CHECK WHETHER STACK IS EMPTY OR NOT • PUSH(X), THIS IS USED TO PUSH X INTO THE STACK • POP(), THIS IS USED TO DELETE ONE ELEMENT FROM TOP OF THE STACK
  • 16. • QUEUE − • ISFULL(), THIS IS USED TO CHECK WHETHER QUEUE IS FULL OR NOT • ISEMPTY(), THIS IS USED TO CHECK WHETHER QUEUE IS EMPTY OR NOT • INSERT(X), THIS IS USED TO ADD X INTO THE QUEUE AT THE REAR END • DELETE(), THIS IS USED TO DELETE ONE ELEMENT FROM THE FRONT END OF THE QUEUE • SIZE(), THIS FUNCTION IS USED TO GET NUMBER OF ELEMENTS PRESENT INTO THE QUEUE • LIST − • SIZE(), THIS FUNCTION IS USED TO GET NUMBER OF ELEMENTS PRESENT INTO THE LIST • INSERT(X), THIS FUNCTION IS USED TO INSERT ONE ELEMENT INTO THE LIST • REMOVE(X), THIS FUNCTION IS USED TO REMOVE GIVEN ELEMENT FROM THE LIST • GET(I), THIS FUNCTION IS USED TO GET ELEMENT AT POSITION I • REPLACE(X, Y), THIS FUNCTION IS USED TO REPLACE X WITH Y VALUE
  • 17. (3) METHOD • AN OPERATION REQUIRED FOR AN OBJECT OR ENTITY WHEN CODED IN A CLASS IS CALLED A METHOD • OPERATIONS REQUIRED FOR AN OBJECT ARE TO BE DEFINED IN THE CLASS • ALL OBJECTS CARRY CERTAIN ACTIONS OR OPERATIONS • EACH ACTION NEEDS AN OBJECT THAT BECOMES A FUNCTION IN THE CLASS THAT DEFINES IT AND IS REFERRED AS A METHOD
  • 18. REPRESENTATION OF METHODS IN DIFFERENT MANNERS
  • 19. REPRESENTATION OF METHODS IN DIFFERENT MANNERS
  • 20. (4) DATA ABSTRACTION • ABSTRACTION REFERS TO THE PROCEDURE OF REPRESENTING ESSENTIAL FEATURES WITHOUT INCLUDING THE BACKGROUND DETAILS • CLASSES USE THEORY OF ABSTRACTION AND ARE DEFINED AS LIST OF ABSTRACT PROPERTIES SUCH AS SIZE , COST , HEIGHT , AND FEW FUNCTIONS TO OPERATE ON THESE PROPERTIES • DATA ABSTRACTION - PROCEDURE FOR IDENTIFYING PROPERTIES AND METHODS RELATED TO SPECIFIC ENTITY. • DATA ABSTRACTION USED TO DEFINE A DATA TYPE AVAILABLE IN PROGRAMMING LANGUAGE CALLED ABSTRACT DATA TYPE(ADT) – CONSISTS OF SET OF VALUES AND SET OF OPERATIONS.
  • 22. (5) ENCAPSULATION • THE PACKING OF DATA AND FUNCTIONS INTO A SINGLE COMPONENT • C++ SUPPORTS ENCAPSULATION USING CLASSES • DATA NOT REACHABLE BY OUTSIDE FUNCTION , ONLY THOSE FUNCTIONS THAT ARE ABLE TO ACCESS THE DATA ARE DEFINED WITHIN THE CLASS • THESE FUNCTIONS PREPARE INTERFACE BETWEEN OBJECTS DATA AND PROGRAM • WITH ENCAPSULATION DATA HIDING IS POSSIBLE • IMPORTANT FEATURE WHERE AN OBJECT CAN BE USED WITHOUT USER KNOWING HOW IT WORKS INTERNALLY.
  • 24. (6) INHERITANCE • INHERITANCE IS THE METHOD BY WHICH OBJECTS OF ONE CLASS GET THE PROPERTIES OF OBJECTS OF ANOTHER CLASS • IN OOPS INHERITANCE PROVIDES REUSABILITY • PROGRAMMER CAN ADD NEW PROPERTIES TO EXISTING CLASS WITHOUT CHANGING IT • THIS CAN BE ACHIEVED BY DERIVING A NEW CLASS FROM EXISTING CLASS • THE NEW CLASS WILL HAVE FEATURES OF BOTH THE CLASSES
  • 26. (7) POLYMORPHISM • ALLOWS THE SAME FUNCTION TO ACT IN A DIFFERENT WAY IN DIFFERENT CLASSES • HOLDS THE ABILITY TO TAKE MORE THAN ONE FORM
  • 28. (8) DYNAMIC BINDING • BINDING MEANS CONNECTING ONE PROGRAM TO ANOTHER PROGRAM THAT IS TO BE EXECUTED IN REPLY TO THE CALL. • IS ALSO CALLED AS LATE BINDING • CODE PRESENT IN SPECIFIED PROGRAM IS UNKNOWN TILL IT IS EXECUTED.
  • 31. (10) REUSABILITY • ALLOWS REUSABILITY OF CLASSES BY EXTENDING THEM TO OTHER CLASSES USING INHERITANCE
  • 32. (11) DELEGATION • TWO CLASSES CAN BE JOINED IN 2 WAYS • INHERITANCE • DELEGATION  BOTH PROVIDE REUSABILITY OF CLASSES  IN INHERITANCE ONE CLASS CAN BE DERIVED FROM OTHER CLASS  RELATIONSHIP B/N 2 CLASSES- KIND OF RELATIONSHIP  IF CLASS Y IS DERIVED FROM CLASS X THEN CLASS Y IS KNOWN AS KIND OF X  WHEN OBJECT OF ONE CLASS IS USED AS DATA MEMBER IN THE OTHER CLASS – COMPOSITION OF OBJECTS – DELEGATION  EG. CLASS C HAS 2 DATA MEMBERS , THESE 2 DATA MEMBERS ARE OBJECTS OF CLASS A AND B –RELATIONSHIP BETWEEN THESE CLASSES IS - HAS A RELATIONSHIP
  • 34. (12) GENERICITY • S/W COMPONENTS HAVE MORE THAN ONE VERSION DEPENDING ON DATA TYPES OF ARGUMENTS • THIS ALLOWS DECLARATION OF VARIABLES WITHOUT SPECIFYING EXACT DATA TYPE • COMPILER IDENTIFIES DATA TYPE AT RUNTIME
  • 35. 1.9 ADVANTAGES OF OOP • CAN BE COMFORTABLY UPGRADED • USING INHERITANCE , ELIMINATE REDUNDANT PROGRAM CODE AND CONTINUE THE USE OF PREVIOUSLY DEFINED CLASSES • DATA HIDING ENABLES PROGRAMMER TO DESIGN AND DEVELOP SAFE PROGRAMS THAT DOES NOT DISTURB CODE IN OTHER PARTS OF PROGRAM • ENCAPSULATION ALLOWS TO DEFINE THE CLASS WITH MANY FUNCTIONS AND CHARACTERISTICS BUT ONLY FEW FUNCTIONS ARE EXPOSED TO USER • ALLOWS TO CREATE EXTENDED AND REUSABLE PARTS • OBJECTS COMMUNICATE WITH EACH OTHER AND PASS MESSAGES
  • 36. 1.11 USAGE OF OOP • SIMULATION • OBJECT ORIENTED DBMS • OFFICE AUTOMATION S/W • AI AND EXPERT SYSTEMS • CAD/CAM S/W • N/W PROGRAMMING AND INTERNET APPLICATIONS • SYSTEM S/W