Перегрузка унарной операции инкремента в префиксной
форме записи
Теперь операцию инкрементирования можно использовать с собственным.
типом данных! :)
//------------------------------------------------------------------------------------------------
#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;}
Counter operator++() //Метод
перегружающий унарную операцию ++
{return Counter (++count);}
};
////////////////////////////////
int main()
{
Counter number1, number2;
cout<<"\nNumber1: "; number1.display();
cout<<"\nNumber2: "; number2.display();
++number1; //Инкрементируем значение поля объекта 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;
}
//------------------------------------------------------------------------------------------------