![]() |
||
Lesson 6
Objective
|
Overloading member functions
Overload member functions in the same class. |
|
|
Member functions within the same class can be overloaded. Remember that a function is called based on its signature,
which is the list of argument types in its parameter list. Consider adding to the class ch_stack a pop operation
which has an integer parameter that is the number of times the ch_stack should be popped. It could be added as the following
function prototype within the class:
class ch_stack {
.....
char pop(int n); //within ch_stack
.....
};
char ch_stack::pop(int n)
{
assert(n <= top);
while(n-- > 1)
top--;
return s[top--];
}
data.pop(); //invokes standard pop data.pop(5); //invokes iterated pop
A member function is conceptually part of the type. There is no distinct member function pop for
each ch_stack object.
There is quite a bit more to overloading functions, but this requires a more in-depth look at polymorphism, which is covered in the third course in the C++ for C Programmers series, Designing Reusable Code in C++. |
||
|
|
||
