Перегрузка унарной операции инкремента в постфиксной форме записи
Теперь операцию инкрементирования можно использовать с собственным.
типом данных! :)

//------------------------------------------------------------------------------------------------
#include <iostream>
#include <conio.h>

using namespace std;

class Counter
{
private:
unsigned int count;

public:
Counter(): count(0)
{}
Counter(int c): count(c)
{}

void display()
{cout<<count;}

//Метод перегружающий операцию ++ (используется с аргументом int)
//int - это не аргумент, а задумка разработчиков С++ для различения префиксной и
//постфиксной формы записи.
Counter operator++(int)
{return Counter (count++);}
};
////////////////////////////////
int main()
{
Counter number1, number2;
cout<<"\nNumber1: "; number1.display();
cout<<"\nNumber2: "; number2.display();
number1++;
number2++;
number2++;
cout<<"\nNumber1: "; number1.display();
cout<<"\nNumber2: "; number2.display();
number1=number2++;
cout<<"\nNumber1: "; number1.display();
cout<<"\nNumber2: "; number2.display();
cout<<endl;
getch();
return 0;
}

//------------------------------------------------------------------------------------------------

Хакинг | Главная | Программирование

Hosted by uCoz