Preview

Operator Overloading in C++

Good Essays
Open Document
Open Document
519 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
Operator Overloading in C++
OPERATOR OVERLOADING

The operator keyword declares a function specifying what operator-symbol means when applied to instances of a class. This gives the operator more than one meaning, or "overloads" it. The compiler distinguishes between the different meanings of an operator by examining the types of its operands. type operator operator-symbol ( parameter-list )

Need For Operator Overloading
Most fundamental data types have pre-defined operators associated with them. For example, the C++ data type int, together with the operators +, -, *, and /, provides an implementation of the mathematical concepts of an integer. To make a user-defined data type as natural as a fundamental data type, the user-defined data type must be associated with the appropriate set of operators.

Memory management operators * new (allocate memory for object) * new[ ] (allocate memory for array) * delete (deallocate memory for object) * delete[ ] (deallocate memory for array)
The memory management operators can be overloaded to customize allocation and deallocation (e.g. to insert pertinent memory headers). They should behave as expected, new should return a pointer to a newly allocated object on the heap, delete should deallocate memory, ignoring a NULL argument. To overload new, several rules must be followed: * new must be a member function * the return type must be void* * the first explicit parameter must be a size_t value
To overload delete there are also conditions: * delete must be a member function (and cannot be virtual) * the return type must be void * there are only two forms available for the parameter list, and only one of the forms may appear in a class: * void* * void*, size_t

Program implementing new and delete operator overloading in C++.
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <new> using namespace std; class

You May Also Find These Documents Helpful

Related Topics