Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Polymorphism

Dalsi pouziti jsou funkce/procedury, ktere jako parametr deklaruji Shape a neco s nim delaji , ale ty jim posles jednou Circle, jindy Rectangle, jindy jeste neco dalsiho, co jsi dodnes ani nenapsal (treba SpaceShip)

Treba do Shape pridas metody Draw a Hide a SetOrigin a pak muzes napsat funkci

void MoveTo(Shape *a, int x, int y) {a->Hide();a->SetOrigin(x,y);a->Draw();}

a volat MoveTo(myCircle,10,20);

samozrejme ta MoveTo muze byt metodou Shape,

pak bys ji deklaroval pouze v Shape a vsechny ostatni odvozene obrazce by ji dedily a ty bys ji nepotreboval prepisovat pro kazdy typ zvlast.

Takze pak bys mel pole Shapu, tam bys dal ruzne Rectangle, Circle, SpaceShip a cokoli dalsiho a jednim cyklem bys dokazal presunout vsechny ty tvary po obrazovce ...

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny