Home » 
        C++ programming language
    
    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