In this example program, the decrement -- operator is overloaded. i.e., decrease the value of a data member by 1 if the -- operator operates on an object.
Polymorphism: Polymorphism (or operator overloading) is a concept in object-oriented programming that allows one method or operator to be used differently for different operations. In C++, we can make one operator works differently on different objects or classes, or structures which is called operator overloading.
Create a class check and declare a variable i in private. The members of a class that is declared as private can be used only by the member functions of that class. A constructor check () is created in public and set the value of variable i to 0. Here, we are using the operator -- to work in a way that increases the value of the variable by 1. Now define an function to display the variable. Within the main function body, create an object obj for the class check. Display the initial value of the data member i for object obj. Invoke the operator function void operator --( ) --obj; Display the value of the data member i after the operation
Step 1: Call the header file iostream.
Step 2: Use the namespace std.
Step 3: Create a class check with a private variable i
Step 4: create a constructor check( ); set the value of i to 0
Step 5: Define the function for operator overloading
Step 6: Define function display for displaying the data member.
Step 7: call the function main
Step 8: create an object obj for the class check
Step 9: Display the value of the data member by accessing the function with the object
Step 10: call the function for operator overloading
Step 11: Display the data member after the operation by calling the display function.
Step 12: Exit
#include <iostream>
using namespace std;
class Check
{
private:
int i;
public:
Check(): i(0) { }
void operator --()
{ --i; }
void Display()
{ cout << "i=" << i << endl; }
};
int main()
{
Check obj;
// Displays the value of data member i for object obj
obj.Display();
// Invokes operator function void operator --( )
--obj;
// Displays the value of data member i for object obj
obj.Display();
return 0;
}
i=0 i=-1