×

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

C++ program to overload unary pre-decrement operator

Overload unary pre-decrement operator in C++: Here, we will learn about the operator overloading with an example/program of unary pre-decrement operator in C++?

Read: operator overloading and its rules

Overloading unary pre-decrement operator

To implement operator overloading, we need to use 'operator' keyword. To assign extra task to operator, we need to implement a function. That will provide facility to write expressions in most natural form.

C++ program to overload unary pre-decrement operator

Consider the program:

using namespace std;
#include <iostream>

class Sample {
 private:
  int count;

 public:
  // default constructor
  Sample() { count = 0; }

  // Parameterized constructor
  Sample(int c) { count = c; }

  // overloaded operator
  void operator--() { --count; }

  // printing the value
  void printValue() { cout << "Value of count : " << count << endl; }
};

int main() {
  int i = 0;

  // object delaration
  Sample S1(100);

  for (i = 0; i < 10; i++) {
    // operator overloading will be applied
    --S1;
    // S1--; //Error
    S1.printValue();
  }

  return 0;
}

Output

Value of count : 99
Value of count : 98
Value of count : 97
Value of count : 96
Value of count : 95
Value of count : 94
Value of count : 93
Value of count : 92
Value of count : 91
Value of count : 90

Explanation

In this program, there is a class named Sample and it contains a data member value and we have implemented a function to overload pre-decrement operator.

--S1 (Unary pre-decrement overloaded operator) will decrease the value of data member value.

But, we cannot use post-decrement with this method of operator overloading.

Comments and Discussions!

Load comments ↻





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