Cześć,
mam problem z jednym zadanie, jeżeli ktoś mógłby łopatologicznie wyjaśnić mi jak mam do tego podejść.
Polecenie:
Stwórz klasę CFigura, która zawiera:
- chronione pola int a, b
- chronione pole int typ (może być równe 1 – koło, 2 – prostokąt, 3 – kwadrat, 0 – puste)
Mam tu zadeklarować nową klasę o nazwie TYP przechowującą pola typu int o nazwach koło, prostokąt, kwadrat etc. ?
Tego punktu za bardzo nie rozumiem.
- publiczny konstruktor dwuparametrowy inicjujący pola a, b
- publiczne czysto-wirtualne metody float pole() oraz void wypisz()
- publiczny operator +=. Jeżeli oba argumenty operatora są tego samego typu (pole typ)
wtedy zwiększamy pola a i b lewego argumentu polami a i b prawego argumentu,
jeżeli nie to pola a i b lewego argumentu są zerowane a typ jest ustawiany na 0.
Operator ma być typu void.
Niektóre punkty to oczywista oczywistość:
class CFigura
{
protected:
int a, b;
public:
CFigura(int x, int y): a(x), b(y)
{
}
virtual void wypisz()=0;
virtual float pole()=0;
void operator+=()
{
};
Nie za bardzo rozumiem punkty pogrubiony dlatego też stoję z tym operatorem.
Jesli ktoś mógłby mi to wytłumaczyć w ludzki sposób o co chodziło autorowi zadania, byłbym wdzięczny.