Вот простенький конкретный, без шаблонов:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #include <iostream>
class Integer
{
int data;
public:
Integer(const int& x): data(x) {}
int operator -- ()
{
return (data -= 10);
}
friend std::ostream& operator << (std::ostream& os, const Integer& i)
{
return os << i.data;
}
};
int main()
{
Integer i = 60;
std::cout << --i << '\n';
} |
|
Тут не указано, какой декремент: префиксный или постфиксный. Сделал префиксный.