×

C++ Tutorial

C++ Data types

C++ Operators & Keywords

C++ Conditional Statements

C++ Functions

C++ 'this' Pointer, References

C++ Class & Objects

C++ Constructors & Destructors

C++ Operator overloading

C++ 11 (Advance C++)

C++ Preparation

C++ Header Files & Functionsr

Data Structure with C++

C++ - Miscellaneous

C++ Programs

Advertisement

How to overload pre-increment operator using non-member or free function in C++?

C++ - Overload pre-increment operator using non-member or free function: Here, we will learn to overload operator (pre-increment) using non-member of free function with C++ program.

Prerequisite: operator overloading and its rules

Here, we are going to implement a C++ program that will demonstrate operator overloading (pre-increment) using non-member or free member function.

Note: This type of non-member function will access the private member of class. So the function must be friend type (friend function).

C++ program to overload pre-increment operator using non-member or free function

Consider the program:

using namespace std; #include <iostream> // Sample class to demonstrate operator overloading class Sample { // private data members private: int value; public: // Parameterized constructor Sample(int c) { value = c; } // Operator overloading declaration using // friend function friend Sample operator++(Sample &S); // function to print the value void printValue() { cout << "Value is : " << value << endl; } }; // friend function (operator overloading) definition Sample operator++(Sample &S) { ++S.value; return S; } // main program int main() { int i = 0; // object declaration, // here parameterized constructor will be called Sample S1(100); for (i = 0; i < 5; i++) { // operator overloading ++S1; S1.printValue(); } return 0; }

Output

Value is : 101
Value is : 102
Value is : 103
Value is : 104
Value is : 105
Advertisement
Advertisement

Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.