Write a program to create class “Counter” having integer data member, overload the post increment, post decrement, pre increment and pre decrement for the class “Counter”.

Sep 15, 2018

Program:

// program to demeonstrate the unary operators
#include<iostream>
using namespace std;

class Counter{
	private:
		int number;
	public:
		Counter(int n = 0){
			number = n;
		}
		// function declarations for the operator overloading
		Counter operator ++(); //declaration for pre increment
		Counter operator ++(int); //declaration for post increment
		Counter operator --();
		Counter operator --(int);
		// function to display the cout
		void display();
};
// function definations
Counter Counter::operator ++(){
	return Counter(++number);
}
Counter Counter::operator ++(int){
	return Counter(number++);
}
Counter Counter::operator --(){
	return Counter(--number);
}
Counter Counter::operator --(int){
	return Counter(number--);
}
void Counter::display(){
	cout<<"number:"<<number<<endl;
}
// main program
int main(){
	Counter c1,c2(10),c3,c4;
	cout<<"Before pre increment for c1:"<<endl;
	c1.display();
	++c1;
	cout<<"After pre increment for c1:"<<endl;
	c1.display();
	cout<<"Before post increment for c1:"<<endl;
	c1.display();
	c3 = c1++;
	cout<<"After post increment for c1:"<<endl;
	c1.display();
	cout<<"Value of c3:"<<endl;
	c3.display();
	cout<<"Before pre decrement for c2:"<<endl;
	c2.display();
	--c2;
	cout<<"After pre decrement for c2:"<<endl;
	c2.display();
	cout<<"Before post decrement for c2:"<<endl;
	c2.display();
	c4 = c2--;
	cout<<"After post decrement for c2:"<<endl;
	c2.display();
	cout<<"Vaue of c4:"<<endl;
	c4.display();
	return 0;
}

 

Sample output: please analyze the output to understand the concept.

Before pre increment for c1:
number:0
After pre increment for c1:
number:1
Before post increment for c1:
number:1
After post increment for c1:
number:2
Value of c3:
number:1
Before pre decrement for c2:
number:10
After pre decrement for c2:
number:9
Before post decrement for c2:
number:9
After post decrement for c2:
number:8
Vaue of c4:
number:9

 

Related


Tools/Apps





© Nepal Exchange Rates