SlideShare a Scribd company logo
Sayed Ahmed
Just E.T.C Technologies Inc.
Just E.T.C. Education Inc.
 C++ is based on and an extension to C
 Knowing similarities and dissimilarities between C
and C++ will help
 to select the right language for your application
development
 Comments:
 Header File: #include <iostream>
 Namespace: A defined collection of symbols and
variable names within an application
 The main () function: must have in a program
 Parentheses: A function/code block name is followed
by Parentheses ()
 Braces: Boundary of code blocks
 Variables: Used to contain values. Think about
variables in Mathematics
 Statements: An instruction to the computer hardware
to perform specific action.
 Statement Terminator: a semicolon
 Function calls:
 One function can call another function.
 It's just a transfer of control from one code block to
another code block.
 However, the control comes back to the caller again.
 #include <iostream>
 using namespace std;
 int main() {
 int studentId;
 count << "what is your student ID" << endl;
 cin>> studentId;
 count << "Student Id " << studentId << endl;
 }
 A C++ program must have a namespace;
 C program ends with .c
 where C++ program ends with .cpp
 Information communication to and from c program is
treated as stream.
 cout and cin are used for the purpose
 cout and cin are practically objects
 To store values
 case sensitive
 must start with letter
 Supportted datatypes: char, int, float, double, boolean,
wchar_t
 float: usually 32 bits - 6 digit after decimam,
 double: 64 bits - 10 digit after decimal,
 Can be declared anywhere
 Local:
 inside functions
 Static:
 Inside functions but do not get destroyed after
 Global:
 Declared outside the functions
 can be accessed from anywhere in the program
 Formal/Parameter
 Hidden variable:
 if a local variable use the same name of a global variable the local
variable = hidden variable
 use scope operator :: to access the global variable inside that
function
 Group of variable
 A group of variables of the same type
 in c strings are null terminated arrays
 C++ also supports a predefined string class/data type;
 include <string>
 in c, define XYZ 100
 in c++, const int val=1000
 Enables Code Resuse
 Enables Data Security from Unauthorized Access
 Object:
 Attribute + behaviors
 Primary OOP Concepts
 Encapsulation:
 Inheritance:
 - reduce development time
 - reuse
 -increase maintainability of the code
 Polymorphism:
 assign different uses to an entity based onthe context
 Abstraction:
 simple representation of an objet.
 hide not essential attributes and behaviors
 Object Oriented Paradigm:
 Define objects - toughest
 define messages
 define properties
 --define attributes
 --define behaviors
 Object behavior analysis:
 Understand the application
 Derive Objects
 Categorize Objects
 Model process flow
 C++ Compliers Must Support: ANSI Standard
 Internationalization
 Template
 Locales
 Namespaces
 Friend Class
 Friend functions and inline functions provide faster, and
efficient application
 A function can be friend to any number of functions
 Use function declaration to declare friend functions
 Static Data Members and Static Members
 Function - create the common members of classes
(across objects)
 Constructor
 no return types
 called at object creation
 Destructor
 no return type
 Operator Overloading
 Compile time polymorphism
 runtime poly
 - inheritance
 virtual functions
 Operator Overloading:
 -unary
 -binary
 -arithmetic
 -assignment
 Note: C++ does not support overloading based on return
type
 Early Binding/Late Binding
 Access Modifiers absent = protected
 inheritance and destructors
 Diamond Problem: Virtual Base Class
 Overriding
 Pure Virtual Function
 manipulators
 COUT, setw, right, setfill, flush, endl
 fstreambase
 fstream
 ifstream
 ofstream
 Mode of file opening
 ios::in
 ios::out
 Sscanf
 Read formatted file data
 ifstream
 fin.getLine()
 Random File Reading
 seekg
 seekp
 I/O System
 Buffered file system
 Stream classes
 stream
 istream--_IO_istream_withassign
 ostream
 Iostream
 Cin is an instance of _IO_istream_withassign
 Instance of _IO_ostream_withassign
 cout
 cerr
 Stream formatting flags
 Can be used with setf(), unsetf()
 ios::left
 ios::dec
 ios::fixed
 ios::oct
 ios::right
 ios::scientific
 ios::showbase
 ios::showpoint
 ios::showpos
 ios::uppercase
 Unformatted input/output
 character
 character array
 strings
 use text buffer
 Can provide abstraction of the I/O device
 functions for unformatted input and output
 cin.read()
 cin.gcount()
 cout.write()
 Files
 fstreambase
 opening, manipulating, closing
 fstream, ifstream, ofstream
 mode ios::app, ios::ate, ios::binary, ios::in, ios::out, ios::trunc
 fin.getline()
 Get pointers
 Random Operation Put pointers
 pointers
 Seekg()
 Seekp()
 Tellg()
 Tellp()
 Handling Exceptions
 runtime errors
 Exceptions
 try and catch block
 throw statement
 Uncaught Exceptions
 Multiple Catch
 ----------
 identified by operating systems
 if not handled passed to op system exception as int, char ,class strings
 how it passes through functions
 Derived Class Exceptions
 catch block hierarchy
 place derived classes catch up
 runtime with virtual functions
 shape
 -draw
 rect
 tri
 define overriding by placing function in each
 Show why virtual function needed?
 virtual base
 pointer runtime polymorphism
 pure virtual function
 Late binding
 base point to base - call derive function - runtime-dynamic
 Templates create reusable code
 STL provides some foundational items
 --templatized functions and
 --classes
 These can be used to solve a variety of problems
 Some STL Elements
 Containers
 Algorithms
 Iterators
 STLs are compatible across operating systems
 Containers
 Vectors
 Lists
 Maps
 Containers
 Sequence
 Associative
 Algorithms
 function templates work with container templates of any type
 algorithm header file
 Iterators are objects to cycle through the containers
 iterator header file needs to be included if iterators are used
 Iterator type:
 Random Access
 Bidirectional
 Forward
 Input
 Output
 Vector and Array Comparison
 container - behave the same way - infinite
 Lists: class
 Bidirectional linear sequentially
 Functions
 begin()
 end()
 erase()
 insert(); (template)
 push_back();
 push_front();
 remove();
 splice();
 Associative Container
 Map templates take two parameters
 Functions:
 begin();
 clear();
 count();
 empty();
 end();
 erase();
 insert();
 size()
 Working with Templates
 Imagine a situation - complex + many data type
 Overload may help but time consuming
 template can help
 object creation define data type
 template overloading

More Related Content

What's hot

C++ version 1
C++  version 1C++  version 1
C++ version 1
JIGAR MAKHIJA
 
Understanding C# in .NET
Understanding C# in .NETUnderstanding C# in .NET
Understanding C# in .NET
mentorrbuddy
 
Tokens expressionsin C++
Tokens expressionsin C++Tokens expressionsin C++
Tokens expressionsin C++
HalaiHansaika
 
Taking User Input in Java
Taking User Input in JavaTaking User Input in Java
Taking User Input in Java
Eftakhairul Islam
 
Buffer and scanner
Buffer and scannerBuffer and scanner
Buffer and scanner
Arif Ullah
 
Java 8 lambda
Java 8 lambdaJava 8 lambda
Java 8 lambda
Manav Prasad
 
ppt on scanner class
ppt on scanner classppt on scanner class
ppt on scanner classdeepsxn
 
Input and output in C++
Input and output in C++Input and output in C++
Input and output in C++
Nilesh Dalvi
 
Presentation 1st
Presentation 1stPresentation 1st
Presentation 1stConnex
 
Templates exception handling
Templates exception handlingTemplates exception handling
Templates exception handling
sanya6900
 
Lambda Expressions in Java
Lambda Expressions in JavaLambda Expressions in Java
Lambda Expressions in Java
Erhan Bagdemir
 
Java8: what's new and what's hot
Java8: what's new and what's hotJava8: what's new and what's hot
Java8: what's new and what's hot
Sergii Maliarov
 
Java scanner, everything you need to know about Java Scanner
Java scanner, everything you need to know about Java ScannerJava scanner, everything you need to know about Java Scanner
Java scanner, everything you need to know about Java Scanner
Edward Nyang'ali
 
Java vs kotlin
Java vs kotlinJava vs kotlin
Java vs kotlin
Deesha Vora
 
Python Programming - VII. Customizing Classes and Operator Overloading
Python Programming - VII. Customizing Classes and Operator OverloadingPython Programming - VII. Customizing Classes and Operator Overloading
Python Programming - VII. Customizing Classes and Operator OverloadingRanel Padon
 
Function overloading ppt
Function overloading pptFunction overloading ppt
Function overloading ppt
Prof. Dr. K. Adisesha
 
Java8
Java8Java8

What's hot (20)

C++ version 1
C++  version 1C++  version 1
C++ version 1
 
Understanding C# in .NET
Understanding C# in .NETUnderstanding C# in .NET
Understanding C# in .NET
 
Tokens expressionsin C++
Tokens expressionsin C++Tokens expressionsin C++
Tokens expressionsin C++
 
Taking User Input in Java
Taking User Input in JavaTaking User Input in Java
Taking User Input in Java
 
Buffer and scanner
Buffer and scannerBuffer and scanner
Buffer and scanner
 
Java 8 lambda
Java 8 lambdaJava 8 lambda
Java 8 lambda
 
ppt on scanner class
ppt on scanner classppt on scanner class
ppt on scanner class
 
Input and output in C++
Input and output in C++Input and output in C++
Input and output in C++
 
Presentation 1st
Presentation 1stPresentation 1st
Presentation 1st
 
Templates exception handling
Templates exception handlingTemplates exception handling
Templates exception handling
 
Java input
Java inputJava input
Java input
 
Lambda Expressions in Java
Lambda Expressions in JavaLambda Expressions in Java
Lambda Expressions in Java
 
Scala
ScalaScala
Scala
 
Java8: what's new and what's hot
Java8: what's new and what's hotJava8: what's new and what's hot
Java8: what's new and what's hot
 
Java scanner, everything you need to know about Java Scanner
Java scanner, everything you need to know about Java ScannerJava scanner, everything you need to know about Java Scanner
Java scanner, everything you need to know about Java Scanner
 
Java vs kotlin
Java vs kotlinJava vs kotlin
Java vs kotlin
 
Python Programming - VII. Customizing Classes and Operator Overloading
Python Programming - VII. Customizing Classes and Operator OverloadingPython Programming - VII. Customizing Classes and Operator Overloading
Python Programming - VII. Customizing Classes and Operator Overloading
 
Function overloading ppt
Function overloading pptFunction overloading ppt
Function overloading ppt
 
Files io
Files ioFiles io
Files io
 
Java8
Java8Java8
Java8
 

Similar to Introduction to c_plus_plus (6)

Patterns in Python
Patterns in PythonPatterns in Python
Patterns in Python
dn
 
7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc
7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc
7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc
abdulhaq467432
 
OOC MODULE1.pptx
OOC MODULE1.pptxOOC MODULE1.pptx
OOC MODULE1.pptx
1HK19CS090MOHAMMEDSA
 
1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers
Akash Gawali
 
SRAVANByCPP
SRAVANByCPPSRAVANByCPP
SRAVANByCPP
aptechsravan
 
iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)
Netcetera
 
C++ language
C++ languageC++ language
C++ language
Hamza Asif
 
C#2
C#2C#2
C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1
ReKruiTIn.com
 
Java Basics
Java BasicsJava Basics
Java Basics
shivamgarg_nitj
 
Unit 1
Unit  1Unit  1
Unit 1
donny101
 
C questions
C questionsC questions
C questions
parm112
 
C++ tutorials
C++ tutorialsC++ tutorials
C++ tutorials
Divyanshu Dubey
 
New microsoft office word document (2)
New microsoft office word document (2)New microsoft office word document (2)
New microsoft office word document (2)rashmita_mishra
 
C++ Interview Question And Answer
C++ Interview Question And AnswerC++ Interview Question And Answer
C++ Interview Question And Answer
Jagan Mohan Bishoyi
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answer
lavparmar007
 
C++ Training
C++ TrainingC++ Training
C++ Training
SubhendraBasu5
 
C++ theory
C++ theoryC++ theory
C++ theory
Shyam Khant
 

Similar to Introduction to c_plus_plus (6) (20)

Patterns in Python
Patterns in PythonPatterns in Python
Patterns in Python
 
7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc
7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc
7.-Download_CS201-Solved-Subjective-with-Reference-by-Aqib.doc
 
C#ppt
C#pptC#ppt
C#ppt
 
OOC MODULE1.pptx
OOC MODULE1.pptxOOC MODULE1.pptx
OOC MODULE1.pptx
 
1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers1183 c-interview-questions-and-answers
1183 c-interview-questions-and-answers
 
SRAVANByCPP
SRAVANByCPPSRAVANByCPP
SRAVANByCPP
 
iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)iPhone development from a Java perspective (Jazoon '09)
iPhone development from a Java perspective (Jazoon '09)
 
C++ language
C++ languageC++ language
C++ language
 
C#2
C#2C#2
C#2
 
C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1C, C++ Interview Questions Part - 1
C, C++ Interview Questions Part - 1
 
Java Basics
Java BasicsJava Basics
Java Basics
 
Unit 1
Unit  1Unit  1
Unit 1
 
C questions
C questionsC questions
C questions
 
C++ tutorials
C++ tutorialsC++ tutorials
C++ tutorials
 
New microsoft office word document (2)
New microsoft office word document (2)New microsoft office word document (2)
New microsoft office word document (2)
 
C++ Interview Question And Answer
C++ Interview Question And AnswerC++ Interview Question And Answer
C++ Interview Question And Answer
 
C++ questions And Answer
C++ questions And AnswerC++ questions And Answer
C++ questions And Answer
 
C++ Training
C++ TrainingC++ Training
C++ Training
 
Lecture02
Lecture02Lecture02
Lecture02
 
C++ theory
C++ theoryC++ theory
C++ theory
 

More from Sayed Ahmed

Workplace, Data Analytics, and Ethics
Workplace, Data Analytics, and EthicsWorkplace, Data Analytics, and Ethics
Workplace, Data Analytics, and Ethics
Sayed Ahmed
 
Python py charm anaconda jupyter installation and basic commands
Python py charm anaconda jupyter   installation and basic commandsPython py charm anaconda jupyter   installation and basic commands
Python py charm anaconda jupyter installation and basic commands
Sayed Ahmed
 
[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework
Sayed Ahmed
 
Sap hana-ide-overview-nodev
Sap hana-ide-overview-nodevSap hana-ide-overview-nodev
Sap hana-ide-overview-nodev
Sayed Ahmed
 
Invest wisely
Invest wiselyInvest wisely
Invest wisely
Sayed Ahmed
 
Will be an introduction to
Will be an introduction toWill be an introduction to
Will be an introduction to
Sayed Ahmed
 
Whm and cpanel overview hosting control panel overview
Whm and cpanel overview   hosting control panel overviewWhm and cpanel overview   hosting control panel overview
Whm and cpanel overview hosting control panel overview
Sayed Ahmed
 
Web application development using zend framework
Web application development using zend frameworkWeb application development using zend framework
Web application development using zend framework
Sayed Ahmed
 
Web design and_html_part_3
Web design and_html_part_3Web design and_html_part_3
Web design and_html_part_3
Sayed Ahmed
 
Web design and_html_part_2
Web design and_html_part_2Web design and_html_part_2
Web design and_html_part_2
Sayed Ahmed
 
Web design and_html
Web design and_htmlWeb design and_html
Web design and_html
Sayed Ahmed
 
Visual studio ide shortcuts
Visual studio ide shortcutsVisual studio ide shortcuts
Visual studio ide shortcuts
Sayed Ahmed
 
Virtualization
VirtualizationVirtualization
Virtualization
Sayed Ahmed
 
User interfaces
User interfacesUser interfaces
User interfaces
Sayed Ahmed
 
Unreal
UnrealUnreal
Unreal
Sayed Ahmed
 
Unit tests in_symfony
Unit tests in_symfonyUnit tests in_symfony
Unit tests in_symfony
Sayed Ahmed
 
Telerik this is sayed
Telerik this is sayedTelerik this is sayed
Telerik this is sayed
Sayed Ahmed
 
System analysis and_design
System analysis and_designSystem analysis and_design
System analysis and_design
Sayed Ahmed
 
Symfony 2
Symfony 2Symfony 2
Symfony 2
Sayed Ahmed
 
Story telling and_narrative
Story telling and_narrativeStory telling and_narrative
Story telling and_narrative
Sayed Ahmed
 

More from Sayed Ahmed (20)

Workplace, Data Analytics, and Ethics
Workplace, Data Analytics, and EthicsWorkplace, Data Analytics, and Ethics
Workplace, Data Analytics, and Ethics
 
Python py charm anaconda jupyter installation and basic commands
Python py charm anaconda jupyter   installation and basic commandsPython py charm anaconda jupyter   installation and basic commands
Python py charm anaconda jupyter installation and basic commands
 
[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework
 
Sap hana-ide-overview-nodev
Sap hana-ide-overview-nodevSap hana-ide-overview-nodev
Sap hana-ide-overview-nodev
 
Invest wisely
Invest wiselyInvest wisely
Invest wisely
 
Will be an introduction to
Will be an introduction toWill be an introduction to
Will be an introduction to
 
Whm and cpanel overview hosting control panel overview
Whm and cpanel overview   hosting control panel overviewWhm and cpanel overview   hosting control panel overview
Whm and cpanel overview hosting control panel overview
 
Web application development using zend framework
Web application development using zend frameworkWeb application development using zend framework
Web application development using zend framework
 
Web design and_html_part_3
Web design and_html_part_3Web design and_html_part_3
Web design and_html_part_3
 
Web design and_html_part_2
Web design and_html_part_2Web design and_html_part_2
Web design and_html_part_2
 
Web design and_html
Web design and_htmlWeb design and_html
Web design and_html
 
Visual studio ide shortcuts
Visual studio ide shortcutsVisual studio ide shortcuts
Visual studio ide shortcuts
 
Virtualization
VirtualizationVirtualization
Virtualization
 
User interfaces
User interfacesUser interfaces
User interfaces
 
Unreal
UnrealUnreal
Unreal
 
Unit tests in_symfony
Unit tests in_symfonyUnit tests in_symfony
Unit tests in_symfony
 
Telerik this is sayed
Telerik this is sayedTelerik this is sayed
Telerik this is sayed
 
System analysis and_design
System analysis and_designSystem analysis and_design
System analysis and_design
 
Symfony 2
Symfony 2Symfony 2
Symfony 2
 
Story telling and_narrative
Story telling and_narrativeStory telling and_narrative
Story telling and_narrative
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Introduction to c_plus_plus (6)

  • 1. Sayed Ahmed Just E.T.C Technologies Inc. Just E.T.C. Education Inc.
  • 2.  C++ is based on and an extension to C  Knowing similarities and dissimilarities between C and C++ will help  to select the right language for your application development
  • 3.  Comments:  Header File: #include <iostream>  Namespace: A defined collection of symbols and variable names within an application  The main () function: must have in a program  Parentheses: A function/code block name is followed by Parentheses ()  Braces: Boundary of code blocks
  • 4.  Variables: Used to contain values. Think about variables in Mathematics  Statements: An instruction to the computer hardware to perform specific action.  Statement Terminator: a semicolon  Function calls:  One function can call another function.  It's just a transfer of control from one code block to another code block.  However, the control comes back to the caller again.
  • 5.  #include <iostream>  using namespace std;  int main() {  int studentId;  count << "what is your student ID" << endl;  cin>> studentId;  count << "Student Id " << studentId << endl;  }
  • 6.  A C++ program must have a namespace;  C program ends with .c  where C++ program ends with .cpp  Information communication to and from c program is treated as stream.  cout and cin are used for the purpose  cout and cin are practically objects
  • 7.  To store values  case sensitive  must start with letter  Supportted datatypes: char, int, float, double, boolean, wchar_t  float: usually 32 bits - 6 digit after decimam,  double: 64 bits - 10 digit after decimal,
  • 8.  Can be declared anywhere  Local:  inside functions  Static:  Inside functions but do not get destroyed after  Global:  Declared outside the functions  can be accessed from anywhere in the program  Formal/Parameter  Hidden variable:  if a local variable use the same name of a global variable the local variable = hidden variable  use scope operator :: to access the global variable inside that function
  • 9.  Group of variable  A group of variables of the same type  in c strings are null terminated arrays  C++ also supports a predefined string class/data type;  include <string>
  • 10.  in c, define XYZ 100  in c++, const int val=1000
  • 11.  Enables Code Resuse  Enables Data Security from Unauthorized Access  Object:  Attribute + behaviors  Primary OOP Concepts  Encapsulation:  Inheritance:  - reduce development time  - reuse  -increase maintainability of the code  Polymorphism:  assign different uses to an entity based onthe context  Abstraction:  simple representation of an objet.  hide not essential attributes and behaviors
  • 12.  Object Oriented Paradigm:  Define objects - toughest  define messages  define properties  --define attributes  --define behaviors  Object behavior analysis:  Understand the application  Derive Objects  Categorize Objects  Model process flow
  • 13.  C++ Compliers Must Support: ANSI Standard  Internationalization  Template  Locales  Namespaces
  • 14.  Friend Class  Friend functions and inline functions provide faster, and efficient application  A function can be friend to any number of functions  Use function declaration to declare friend functions  Static Data Members and Static Members  Function - create the common members of classes (across objects)
  • 15.  Constructor  no return types  called at object creation  Destructor  no return type
  • 16.  Operator Overloading  Compile time polymorphism  runtime poly  - inheritance  virtual functions  Operator Overloading:  -unary  -binary  -arithmetic  -assignment  Note: C++ does not support overloading based on return type
  • 17.  Early Binding/Late Binding  Access Modifiers absent = protected
  • 18.  inheritance and destructors  Diamond Problem: Virtual Base Class  Overriding  Pure Virtual Function
  • 19.  manipulators  COUT, setw, right, setfill, flush, endl  fstreambase  fstream  ifstream  ofstream
  • 20.  Mode of file opening  ios::in  ios::out  Sscanf  Read formatted file data  ifstream  fin.getLine()  Random File Reading  seekg  seekp
  • 21.  I/O System  Buffered file system  Stream classes  stream  istream--_IO_istream_withassign  ostream  Iostream  Cin is an instance of _IO_istream_withassign  Instance of _IO_ostream_withassign  cout  cerr
  • 22.  Stream formatting flags  Can be used with setf(), unsetf()  ios::left  ios::dec  ios::fixed  ios::oct  ios::right  ios::scientific  ios::showbase  ios::showpoint  ios::showpos  ios::uppercase
  • 23.  Unformatted input/output  character  character array  strings  use text buffer  Can provide abstraction of the I/O device  functions for unformatted input and output  cin.read()  cin.gcount()  cout.write()
  • 24.  Files  fstreambase  opening, manipulating, closing  fstream, ifstream, ofstream  mode ios::app, ios::ate, ios::binary, ios::in, ios::out, ios::trunc  fin.getline()  Get pointers  Random Operation Put pointers  pointers  Seekg()  Seekp()  Tellg()  Tellp()
  • 25.  Handling Exceptions  runtime errors  Exceptions  try and catch block  throw statement  Uncaught Exceptions  Multiple Catch  ----------  identified by operating systems  if not handled passed to op system exception as int, char ,class strings  how it passes through functions  Derived Class Exceptions  catch block hierarchy  place derived classes catch up
  • 26.  runtime with virtual functions  shape  -draw  rect  tri  define overriding by placing function in each  Show why virtual function needed?  virtual base  pointer runtime polymorphism  pure virtual function  Late binding  base point to base - call derive function - runtime-dynamic
  • 27.  Templates create reusable code  STL provides some foundational items  --templatized functions and  --classes  These can be used to solve a variety of problems  Some STL Elements  Containers  Algorithms  Iterators  STLs are compatible across operating systems
  • 28.  Containers  Vectors  Lists  Maps  Containers  Sequence  Associative
  • 29.  Algorithms  function templates work with container templates of any type  algorithm header file  Iterators are objects to cycle through the containers  iterator header file needs to be included if iterators are used  Iterator type:  Random Access  Bidirectional  Forward  Input  Output
  • 30.  Vector and Array Comparison  container - behave the same way - infinite
  • 31.  Lists: class  Bidirectional linear sequentially  Functions  begin()  end()  erase()  insert(); (template)  push_back();  push_front();  remove();  splice();
  • 32.  Associative Container  Map templates take two parameters  Functions:  begin();  clear();  count();  empty();  end();  erase();  insert();  size()
  • 33.  Working with Templates  Imagine a situation - complex + many data type  Overload may help but time consuming  template can help  object creation define data type  template overloading