Zad. 3. Napisz program, który przeciąży unarny (jednoargumentowy) operator "-" w taki sposób, żeby dekrementował wartość atrybutu danego obiektu.
Rozwiązanie
#include<iostream>
using namespace std;
class klasa{
public:
klasa(){x = 0;} //domyslna wartosć atrybutu x wynosi 0
klasa(int a) //konstruktor pobierający wartosć dla atrybutu x
{
x = a;
}
int operator - () //operator unarny nie posiada drugiego argumentu
{ //dlatego nawias jest pusty
--x;
}
int zwroc() //metoda zwraca wartosc atrybutu x
{
return x;
}
private:
int x;
};
int main()
{
klasa A(10); //stworzenie obiektu A i nadanie wartosci 0 atrybutowi x
-A;//dekrementacja x
cout<<A.zwroc()<<endl; // out: 9
return 0;
}
Out: 9 |