remove maps

This commit is contained in:
Jidong Xiao
2023-10-17 01:37:51 -04:00
parent 849d46e4ad
commit eda2a09332

View File

@@ -72,18 +72,17 @@ ostream& operator<< (ostream & ostr, Complex const& c) {
## 14.4 Operators as Non-Member Functions and as Member Functions
- We have already written our own operators, especially operator<, to sort objects stored in STL containers
and to create our own keys for maps.
- We have already written our own operators, especially operator<, to sort objects stored in STL containers.
- We can write them as non-member functions (e.g., operator-). When implemented as a non-member function,
the expression: z - w is translated by the compiler into the function call: operator- (z, w)
- We can also write them as member functions (e.g., operator+). When implemented as a member function, the
expression: z + w is translated into: z.operator+ (w)
This shows that operator+ is a member function of z, since z appears on the left-hand side of the operator.
Observe that the function has only one argument!
There are several important properties of the implementation of an operator as a member function:
It is within the scope of class Complex, so private member variables can be accessed directly.
The member variables of z, whose member function is actually called, are referenced by directly by name.
The member variables of w are accessed through the parameter rhs.
There are several important properties of the implementation of an operator as a member function:
It is within the scope of class Complex, so private member variables can be accessed directly.
The member variables of z, whose member function is actually called, are referenced by directly by name.
The member variables of w are accessed through the parameter rhs.
The member function is const, which means that z will not (and can not) be changed by the function.
- Also, since w will not be changed since the argument is also marked const.
- Both operator+ and operator- return Complex objects, so both must call Complex constructors to create these