Lecture 2 - Page 36 : 42
Notes about C++
Basic facilities
Basic facilities
Fundamental types i C++
Booleans
Structs in C++
Declarations and definitions
The structure of a declaration
Declaring several names together
Declarations as statements - declarations in conditions
Constants
The general notation of objects in C++
Lvalues
C-style strings
C++ style strings
Strings - examples
References
Rules for references
References - Examples
Constant References
References versus Pointers
Parameter passing in C++
Value return
Type conversion - Grand Overview
Implicit type conversions
Explicit type conversion
Function Overloading
Function Overloading - more detailed rules
Function Overloading - Examples
Vectors in C++
Vectors - examples
The free store
Input and output in C++
Overloaded operators and IO
Standard streams
Stream State
Manipulators
More manipulators
Logical program organization
More namespaces
Physical program organization
Example of program organization
The standard library namespace
Point Exercise - C++ versus C#
More manipulators
Manipulators can be with or without arguments
Manipulators without arguments
The manipulator is a
pointer to function
Handled by an operator overload of
operator<<
in class
basis_ostream
basis_ostream operator<<(basis_ostream& (*f)(basis_ostream&)){return f(*this)}
Manipulators with arguments
The manipulator
m(a)
returns an struct that aggregates a function pointer and the argument
a
An overload of
<<
activates the function on the argument before it returns the stream
Interesting details on page 633
Illustration of more manipulators.
Program output.