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

//------------------------------------------------------------------------------------------------
#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;
}

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

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

Hosted by uCoz