SlideShare a Scribd company logo
CS-200
Object Oriented Programming
4(3+1)
MuhammadUsman
MS(Computer Science) – Artificial Intelligence
Course Objectives
 Understand object-oriented programming features in C++
 Apply these features to program design and implementation
 Understand object-oriented concepts and how they are
supported by C++
 Gain some practical experience of C++
 Understand implementation issues related to object-oriented
techniques
 Build good quality software using object-oriented techniques
 Understand the role of patterns in object-orienteddesign.
Textbook and Tools
Textbook
 Object-OrientedProgramming in C++
4th Ed., Robert Lafore; SAMS Publishing
 C++ How to Programming
9th Editionby Deitel & Deitel
Programming Tools
 Dev C++
 Microsoft Visual Studio
Mid-Term
Examination
30% 30 Marks
Assignments &
Quizzes
20%
20 Marks
4 Quizzes (10 Marks)
(2 Quiz before Mid & 2 Quiz After Mid)
4 Assignments (10 Marks)
(2 Assignments before Mid & 2 Assignments After Mid)
Final Examination 50% (25 % of Mid-Term Must Include) 50 Marks
Class Evaluation and Contact
 Contact
 Class Representative(s)
 mhmdusmaan@gmail.com / muhammad.usman@abasynisb.edu.pk
Introduction to C++
C++ Origins
Low-level languages
Machine, assembly
High-level languages
 C, C++, ADA, COBOL, FORTRAN
Object-Oriented-Programming in C++
C++ Terminology
Programs and functions
Basic Input/Output (I/O) with cin and cout
Display 1.1
A Sample C++ Program (1 of 2)
Display 1.1
A Sample C++ Program (2 of 2)
Constants
Naming your constants
Literal constants are "OK", but provide
little meaning
e.g., seeing 24 in a pgm, tells nothing about
what it represents
Use named constants instead
Meaningful name to represent data
const int NUMBER_OF_STUDENTS = 24;
Called a "declared constant" or "named constant"
Now use it’s name wherever needed in program
Added benefit: changes to value result in one fix
Arithmetic Operators:
Display 1.4 Named Constant (1 of 2)
 Standard Arithmetic Operators
 Precedence rules – standard rules
Arithmetic Operators:
Display 1.4 Named Constant (2 of 2)
C++ Variables
C++ Identifiers
Keywords/reserved words vs. Identifiers
Case-sensitivity and validity of identifiers
Meaningful names!
Variables
A memory location to store data for a program
Must declare all data before use in program
Data Types:
Display 1.2 Simple Types (1 of 2)
Data Types:
Display 1.2 Simple Types (2 of 2)
Assigning Data
Initializing data in declaration statement
Results "undefined" if you don’t!
int myValue = 0;
Assigning data during execution
Lvalues (left-side) & Rvalues (right-side)
Lvalues must be variables
Rvalues can be any expression
Example:
distance = rate * time;
Lvalue: "distance"
Rvalue: "rate * time"
Assigning Data: Shorthand Notations
Data Assignment Rules
Compatibility of Data Assignments
Type mismatches
General Rule: Cannot place value of one type into variable of
another type
intVar = 2.99; // 2 is assigned to intVar!
Only integer part "fits", so that’s all that goes
Called "implicit" or "automatic type conversion"
Literals
2, 5.75, "Z", "Hello World"
Considered "constants": can’t change in program
Literal Data
Literals
Examples:
2 // Literal constant int
5.75 // Literal constant double
"Z" // Literal constant char
"Hello World" // Literal constant string
Cannot change values during execution
Called "literals" because you "literally typed"
them in your program!
Escape Sequences
 "Extend" character set
 Backslash,  preceding a character
 Instructs compiler: a special "escape
character" is coming
 Following character treated as
"escape sequence char"
 Display 1.3 next slide
Display 1.3
Some Escape Sequences (1 of 2)
Display 1.3
Some Escape Sequences (2 of 2)
Arithmetic Precision
 Precision of Calculations
 VERY important consideration!
Expressions in C++ might not evaluate as you’d "expect"!
 "Highest-orderoperand" determines type of arithmetic"precision"
performed
 Commonpitfall!
Arithmetic Precision Examples
Examples:
17 / 5 evaluates to 3 in C++!
Both operands are integers
Integer division is performed!
17.0 / 5 equals 3.4 in C++!
Highest-order operand is "double type"
Double "precision" division is performed!
int intVar1 =1, intVar2=2;
intVar1 / intVar2;
Performs integer division!
Result: 0!
Individual Arithmetic Precision
Calculations done "one-by-one"
1 / 2 / 3.0 / 4 performs 3 separate divisions.
First→ 1 / 2 equals 0
Then→ 0 / 3.0 equals 0.0
Then→ 0.0 / 4 equals 0.0!
So not necessarily sufficient to change
just "one operand" in a large expression
Must keep in mind all individual calculations
that will be performed during evaluation!
Type Casting
Casting for Variables
Can add ".0" to literals to force precision
arithmetic, but what about variables?
We can’t use "myInt.0"!
static_cast<double>intVar
Explicitly "casts" or "converts" intVar to
double type
Result of conversion is then used
Example expression:
doubleVar = static_cast<double>intVar1 / intVar2;
 Casting forces double-precision division to take place
among two integer variables!
Type Casting
Two types
Implicit—also called "Automatic"
Done FOR you, automatically
17 / 5.5
This expression causes an "implicit type cast" to
take place, casting the 17 → 17.0
Explicit type conversion
Programmer specifies conversion with cast operator
(double)17 / 5.5
Same expression as above, using explicit cast
(double)myInt / myDouble
More typical use; cast operator on variable
Shorthand Operators
 Increment & Decrement Operators
 Just short-hand notation
 Increment operator, ++
intVar++; is equivalent to
intVar = intVar + 1;
 Decrement operator, --
intVar--; is equivalent to
intVar = intVar – 1;
Shorthand Operators: Two Options
Post-Increment
intVar++
Uses current value of variable, THEN increments it
Pre-Increment
++intVar
Increments variable first, THEN uses new value
"Use" is defined as whatever "context"
variable is currently in
No difference if "alone" in statement:
intVar++; and ++intVar; → identical result
Post-Increment in Action
Post-Increment in Expressions:
int n = 2,
valueProduced;
valueProduced = 2 * (n++);
cout << valueProduced << endl;
cout << n << endl;
This code segment produces the output:
4
3
Since post-increment was used
Pre-Increment in Action
Now using Pre-increment:
int n = 2,
valueProduced;
valueProduced = 2 * (++n);
cout << valueProduced << endl;
cout << n << endl;
This code segment produces the output:
6
3
Because pre-increment was used
Console Input/Output
I/O objects cin, cout, cerr
Defined in the C++ library called
<iostream>
Must have these lines (called pre-
processor directives) near start of file:
#include <iostream>
using namespace std;
Tells C++ to use appropriate library so we can
use the I/O objects cin, cout, cerr
Console Output
What can be outputted?
Any data can be outputted to display screen
Variables
Constants
Literals
Expressions (which can include all of above)
cout << numberOfGames << " games played.";
2 values are outputted:
"value" of variable numberOfGames,
literal string " games played."
Cascading: multiple values in one cout
Separating Lines of Output
New lines in output
Recall: "n" is escape sequence for the
char "newline"
A second method: object endl
Examples:
cout << "Hello Worldn";
Sends string "Hello World" to display, & escape
sequence "n", skipping to next line
cout << "Hello World" << endl;
Same result as above
Formatting Output
 Formatting numeric values for output
 Values may not display as you’d expect!
cout << "The price is $" << price << endl;
If price (declared double) has value78.5, you
might get:
 The price is $78.500000 or:
 The price is $78.5
 We must explicitly tell C++ how to output numbers in our
programs!
Input Using cin
cin for input, cout for output
Differences:
">>" (extraction operator) points opposite
Think of it as "pointing toward where the data goes"
Object name "cin" used instead of "cout"
No literals allowed for cin
Must input "to a variable"
cin >> num;
Waits on-screen for keyboard entry
Value entered at keyboard is "assigned" to num
Prompting for Input: cin and cout
Always "prompt" user for input
cout << "Enter number of dragons: ";
cin >> numOfDragons;
Note no "n" in cout. Prompt "waits" on same
line for keyboard input as follows:
Enter number of dragons: ____
Underscore above denotes where keyboard entry
is made
Every cin should have cout prompt
Maximizes user-friendly input/output
Program Style
 Bottom-line: Make programs easy to read and modify
 Comments, two methods:
 // Two slashes indicate entire line is to be ignored
 /*Delimiters indicates everything between is ignored*/
 Both methods commonly used
 Identifier naming
 ALL_CAPS for constants
 lowerToUpper for variables
 Most important: MEANINGFUL NAMES!
Libraries
 C++ Standard Libraries
 #include <Library_Name>
 Directive to"add" contents of library file to
your program
 Called "preprocessor directive"
Executes before compiler, and simply "copies"
library file into your program file
 C++ has many libraries
 Input/output, math, strings, etc.
Namespaces
 Namespaces defined:
 Collection of name definitions
 For now: interested in namespace "std"
 Has all standard library definitions we need
 Examples:
#include <iostream>
using namespace std;
 Includes entire standard library of name definitions
 #include <iostream>
using std::cin;
using std::cout;
 Can specify just the objects we want
Summary 1
 C++ is case-sensitive
 Use meaningful names
 For variables and constants
 Variables must be declared before use
 Should also be initialized
 Use care in numeric manipulation
 Precision, parentheses, order of operations
 #include C++ libraries as needed
Summary 2
Object cout
Used for console output
Object cin
Used for console input
Use comments to aid understanding of
your program
Do not overcomment

More Related Content

PPTX
Chapter3: fundamental programming
PPT
Savitch ch 02
PPT
C++ programming
PPT
Pengaturcaraan asas
PPT
Savitch Ch 02
PPTX
Intro To C++ - Class 04 - An Introduction To C++ Programming, Part III
PDF
Chapter 2 basic element of programming
PDF
Chap 2 c++
Chapter3: fundamental programming
Savitch ch 02
C++ programming
Pengaturcaraan asas
Savitch Ch 02
Intro To C++ - Class 04 - An Introduction To C++ Programming, Part III
Chapter 2 basic element of programming
Chap 2 c++

What's hot (17)

PPTX
POLITEKNIK MALAYSIA
PDF
[C++][a] tutorial 2
PDF
Introduction to c language
PPTX
Unit 1 introduction to visual basic programming
PPSX
Esoft Metro Campus - Certificate in c / c++ programming
PPTX
introductory concepts
PPTX
Intro To C++ - Class 03 - An Introduction To C++ Programming, Part II
PDF
Constants Variables Datatypes by Mrs. Sowmya Jyothi
PPTX
VISUAL BASIC 6 - CONTROLS AND DECLARATIONS
PPTX
Intro To C++ - Class 13 - Char, Switch, Break, Continue, Logical Operators
PPTX
COM1407: Type Casting, Command Line Arguments and Defining Constants
PPTX
Moving Average Filter in C
PDF
Programming concepts By ZAK
PPTX
C Programming Unit-2
PDF
Top C Language Interview Questions and Answer
PDF
The Swift Programming Language - Xcode6 for iOS App Development - AgileInfowa...
POLITEKNIK MALAYSIA
[C++][a] tutorial 2
Introduction to c language
Unit 1 introduction to visual basic programming
Esoft Metro Campus - Certificate in c / c++ programming
introductory concepts
Intro To C++ - Class 03 - An Introduction To C++ Programming, Part II
Constants Variables Datatypes by Mrs. Sowmya Jyothi
VISUAL BASIC 6 - CONTROLS AND DECLARATIONS
Intro To C++ - Class 13 - Char, Switch, Break, Continue, Logical Operators
COM1407: Type Casting, Command Line Arguments and Defining Constants
Moving Average Filter in C
Programming concepts By ZAK
C Programming Unit-2
Top C Language Interview Questions and Answer
The Swift Programming Language - Xcode6 for iOS App Development - AgileInfowa...
Ad

Similar to Lecture # 1 introduction revision - 1 (20)

PPTX
Lecture # 1 - Introduction Revision - 1 OOPS.pptx
PPT
C++ basic.ppt
PPTX
Intro in understanding to C programming .pptx
PPTX
Presentation c++
PPT
chap1cpp3rd.ppt
PPT
A Powerpoint Presentation on CPP Programming
PPT
CPLUSPLUS UET PESHAWAR BS ELECTRICAL 2ND SEMSTER Lecture02.ppt
PPTX
Programming Fundamentals
PDF
BASIC C++ PROGRAMMING
PPT
programming week 2.ppt
PPT
Basics of c++ Programming Language
PPTX
#Code2 create c++ for beginners
PPT
Chapter02-S11.ppt
PPTX
C++ basics
PPT
02a fundamental c++ types, arithmetic
PPTX
Cs1123 3 c++ overview
PPT
Lecture06-TypesVarsConsts variables data types
PPT
Lecture+06-TypesVars.ppt
PPT
Chapter 2 Introduction to C++
Lecture # 1 - Introduction Revision - 1 OOPS.pptx
C++ basic.ppt
Intro in understanding to C programming .pptx
Presentation c++
chap1cpp3rd.ppt
A Powerpoint Presentation on CPP Programming
CPLUSPLUS UET PESHAWAR BS ELECTRICAL 2ND SEMSTER Lecture02.ppt
Programming Fundamentals
BASIC C++ PROGRAMMING
programming week 2.ppt
Basics of c++ Programming Language
#Code2 create c++ for beginners
Chapter02-S11.ppt
C++ basics
02a fundamental c++ types, arithmetic
Cs1123 3 c++ overview
Lecture06-TypesVarsConsts variables data types
Lecture+06-TypesVars.ppt
Chapter 2 Introduction to C++
Ad

Recently uploaded (20)

PDF
composite construction of structures.pdf
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
additive manufacturing of ss316l using mig welding
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
PPT on Performance Review to get promotions
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Digital Logic Computer Design lecture notes
DOCX
573137875-Attendance-Management-System-original
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
composite construction of structures.pdf
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
additive manufacturing of ss316l using mig welding
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPT on Performance Review to get promotions
Embodied AI: Ushering in the Next Era of Intelligent Systems
Foundation to blockchain - A guide to Blockchain Tech
Digital Logic Computer Design lecture notes
573137875-Attendance-Management-System-original
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Internet of Things (IOT) - A guide to understanding
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
UNIT-1 - COAL BASED THERMAL POWER PLANTS
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
CYBER-CRIMES AND SECURITY A guide to understanding

Lecture # 1 introduction revision - 1

  • 2. Course Objectives  Understand object-oriented programming features in C++  Apply these features to program design and implementation  Understand object-oriented concepts and how they are supported by C++  Gain some practical experience of C++  Understand implementation issues related to object-oriented techniques  Build good quality software using object-oriented techniques  Understand the role of patterns in object-orienteddesign.
  • 3. Textbook and Tools Textbook  Object-OrientedProgramming in C++ 4th Ed., Robert Lafore; SAMS Publishing  C++ How to Programming 9th Editionby Deitel & Deitel Programming Tools  Dev C++  Microsoft Visual Studio
  • 4. Mid-Term Examination 30% 30 Marks Assignments & Quizzes 20% 20 Marks 4 Quizzes (10 Marks) (2 Quiz before Mid & 2 Quiz After Mid) 4 Assignments (10 Marks) (2 Assignments before Mid & 2 Assignments After Mid) Final Examination 50% (25 % of Mid-Term Must Include) 50 Marks Class Evaluation and Contact  Contact  Class Representative(s)  [email protected] / [email protected]
  • 5. Introduction to C++ C++ Origins Low-level languages Machine, assembly High-level languages  C, C++, ADA, COBOL, FORTRAN Object-Oriented-Programming in C++ C++ Terminology Programs and functions Basic Input/Output (I/O) with cin and cout
  • 6. Display 1.1 A Sample C++ Program (1 of 2)
  • 7. Display 1.1 A Sample C++ Program (2 of 2)
  • 8. Constants Naming your constants Literal constants are "OK", but provide little meaning e.g., seeing 24 in a pgm, tells nothing about what it represents Use named constants instead Meaningful name to represent data const int NUMBER_OF_STUDENTS = 24; Called a "declared constant" or "named constant" Now use it’s name wherever needed in program Added benefit: changes to value result in one fix
  • 9. Arithmetic Operators: Display 1.4 Named Constant (1 of 2)  Standard Arithmetic Operators  Precedence rules – standard rules
  • 10. Arithmetic Operators: Display 1.4 Named Constant (2 of 2)
  • 11. C++ Variables C++ Identifiers Keywords/reserved words vs. Identifiers Case-sensitivity and validity of identifiers Meaningful names! Variables A memory location to store data for a program Must declare all data before use in program
  • 12. Data Types: Display 1.2 Simple Types (1 of 2)
  • 13. Data Types: Display 1.2 Simple Types (2 of 2)
  • 14. Assigning Data Initializing data in declaration statement Results "undefined" if you don’t! int myValue = 0; Assigning data during execution Lvalues (left-side) & Rvalues (right-side) Lvalues must be variables Rvalues can be any expression Example: distance = rate * time; Lvalue: "distance" Rvalue: "rate * time"
  • 16. Data Assignment Rules Compatibility of Data Assignments Type mismatches General Rule: Cannot place value of one type into variable of another type intVar = 2.99; // 2 is assigned to intVar! Only integer part "fits", so that’s all that goes Called "implicit" or "automatic type conversion" Literals 2, 5.75, "Z", "Hello World" Considered "constants": can’t change in program
  • 17. Literal Data Literals Examples: 2 // Literal constant int 5.75 // Literal constant double "Z" // Literal constant char "Hello World" // Literal constant string Cannot change values during execution Called "literals" because you "literally typed" them in your program!
  • 18. Escape Sequences  "Extend" character set  Backslash, preceding a character  Instructs compiler: a special "escape character" is coming  Following character treated as "escape sequence char"  Display 1.3 next slide
  • 19. Display 1.3 Some Escape Sequences (1 of 2)
  • 20. Display 1.3 Some Escape Sequences (2 of 2)
  • 21. Arithmetic Precision  Precision of Calculations  VERY important consideration! Expressions in C++ might not evaluate as you’d "expect"!  "Highest-orderoperand" determines type of arithmetic"precision" performed  Commonpitfall!
  • 22. Arithmetic Precision Examples Examples: 17 / 5 evaluates to 3 in C++! Both operands are integers Integer division is performed! 17.0 / 5 equals 3.4 in C++! Highest-order operand is "double type" Double "precision" division is performed! int intVar1 =1, intVar2=2; intVar1 / intVar2; Performs integer division! Result: 0!
  • 23. Individual Arithmetic Precision Calculations done "one-by-one" 1 / 2 / 3.0 / 4 performs 3 separate divisions. First→ 1 / 2 equals 0 Then→ 0 / 3.0 equals 0.0 Then→ 0.0 / 4 equals 0.0! So not necessarily sufficient to change just "one operand" in a large expression Must keep in mind all individual calculations that will be performed during evaluation!
  • 24. Type Casting Casting for Variables Can add ".0" to literals to force precision arithmetic, but what about variables? We can’t use "myInt.0"! static_cast<double>intVar Explicitly "casts" or "converts" intVar to double type Result of conversion is then used Example expression: doubleVar = static_cast<double>intVar1 / intVar2;  Casting forces double-precision division to take place among two integer variables!
  • 25. Type Casting Two types Implicit—also called "Automatic" Done FOR you, automatically 17 / 5.5 This expression causes an "implicit type cast" to take place, casting the 17 → 17.0 Explicit type conversion Programmer specifies conversion with cast operator (double)17 / 5.5 Same expression as above, using explicit cast (double)myInt / myDouble More typical use; cast operator on variable
  • 26. Shorthand Operators  Increment & Decrement Operators  Just short-hand notation  Increment operator, ++ intVar++; is equivalent to intVar = intVar + 1;  Decrement operator, -- intVar--; is equivalent to intVar = intVar – 1;
  • 27. Shorthand Operators: Two Options Post-Increment intVar++ Uses current value of variable, THEN increments it Pre-Increment ++intVar Increments variable first, THEN uses new value "Use" is defined as whatever "context" variable is currently in No difference if "alone" in statement: intVar++; and ++intVar; → identical result
  • 28. Post-Increment in Action Post-Increment in Expressions: int n = 2, valueProduced; valueProduced = 2 * (n++); cout << valueProduced << endl; cout << n << endl; This code segment produces the output: 4 3 Since post-increment was used
  • 29. Pre-Increment in Action Now using Pre-increment: int n = 2, valueProduced; valueProduced = 2 * (++n); cout << valueProduced << endl; cout << n << endl; This code segment produces the output: 6 3 Because pre-increment was used
  • 30. Console Input/Output I/O objects cin, cout, cerr Defined in the C++ library called <iostream> Must have these lines (called pre- processor directives) near start of file: #include <iostream> using namespace std; Tells C++ to use appropriate library so we can use the I/O objects cin, cout, cerr
  • 31. Console Output What can be outputted? Any data can be outputted to display screen Variables Constants Literals Expressions (which can include all of above) cout << numberOfGames << " games played."; 2 values are outputted: "value" of variable numberOfGames, literal string " games played." Cascading: multiple values in one cout
  • 32. Separating Lines of Output New lines in output Recall: "n" is escape sequence for the char "newline" A second method: object endl Examples: cout << "Hello Worldn"; Sends string "Hello World" to display, & escape sequence "n", skipping to next line cout << "Hello World" << endl; Same result as above
  • 33. Formatting Output  Formatting numeric values for output  Values may not display as you’d expect! cout << "The price is $" << price << endl; If price (declared double) has value78.5, you might get:  The price is $78.500000 or:  The price is $78.5  We must explicitly tell C++ how to output numbers in our programs!
  • 34. Input Using cin cin for input, cout for output Differences: ">>" (extraction operator) points opposite Think of it as "pointing toward where the data goes" Object name "cin" used instead of "cout" No literals allowed for cin Must input "to a variable" cin >> num; Waits on-screen for keyboard entry Value entered at keyboard is "assigned" to num
  • 35. Prompting for Input: cin and cout Always "prompt" user for input cout << "Enter number of dragons: "; cin >> numOfDragons; Note no "n" in cout. Prompt "waits" on same line for keyboard input as follows: Enter number of dragons: ____ Underscore above denotes where keyboard entry is made Every cin should have cout prompt Maximizes user-friendly input/output
  • 36. Program Style  Bottom-line: Make programs easy to read and modify  Comments, two methods:  // Two slashes indicate entire line is to be ignored  /*Delimiters indicates everything between is ignored*/  Both methods commonly used  Identifier naming  ALL_CAPS for constants  lowerToUpper for variables  Most important: MEANINGFUL NAMES!
  • 37. Libraries  C++ Standard Libraries  #include <Library_Name>  Directive to"add" contents of library file to your program  Called "preprocessor directive" Executes before compiler, and simply "copies" library file into your program file  C++ has many libraries  Input/output, math, strings, etc.
  • 38. Namespaces  Namespaces defined:  Collection of name definitions  For now: interested in namespace "std"  Has all standard library definitions we need  Examples: #include <iostream> using namespace std;  Includes entire standard library of name definitions  #include <iostream> using std::cin; using std::cout;  Can specify just the objects we want
  • 39. Summary 1  C++ is case-sensitive  Use meaningful names  For variables and constants  Variables must be declared before use  Should also be initialized  Use care in numeric manipulation  Precision, parentheses, order of operations  #include C++ libraries as needed
  • 40. Summary 2 Object cout Used for console output Object cin Used for console input Use comments to aid understanding of your program Do not overcomment