Lecture 3 - Page 31 : 36
Notes about C++
Abstraction Mechanisms, Part 1
From C# classes to C++ classes
Organization of classes and members
Classes, structs and namespaces
Functions outside classes
Constructors
Constructors - initialization versus assignment
More about constructors
Use of constructors
Destructors
A class that needs a destructor
Resource acquisition is initialization - RAII
Auto Pointers
Object copying
Copying Point objects in parameter passing
Example of copying objects: Default copying
Example of copying objects: Programmed copying
Preventing object copying
Classes and Conversion
Implicit Conversion
Classes and Conversion: Examples
Static class members
Const member functions
Const member functions - const and mutable
Object Self-reference
Inline member functions
Concrete classes
Visibility and Access Control
Friends
Friends - Example 1
Friends - Example 2
Friends - class Point - notational convenience
Friends - Class Point - operator friends
Friends - Class Point - implicit conversion
Discussion - Encapsulation, Visibility and Access
Operator overloading
Example: Operator overloading in class Point
Friends - class Point - notational convenience
We wish to use the notation
Move(p, dx,dy)
instead of
p.Move(dx,dy)
Class Point - header file.
Class Point - implementation - not important for this example.
The program including implementation of friend moving functions.
Which moving operation do we prefer? The
move
member,
Move1
, or
Move2
?