Lecture 2 - Page 27 : 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#
Function Overloading - Examples
We show examples of single best match and ambiguous function overloading
Exact matches - a trivial example.
Simple examle of an ambiguity.
An ambiguity between 'float to int' and 'float to long int'.
'Float to double' conversion prefered over 'float to int' and 'float to long int'.
Point.h.
double to Point via Point(double) constructor.
'double to char' instead of 'double to Point'.
Now in an ambiguity situation.
A single best match again - slightly surprising perhaps.
A trivial example with overloading of a function of two parameters.