Virtuaalinen perintä aikaisemmaksi
Ympyräneliön erikoistapauksessa kaikin puolin toimiva ratkaisu
saadaan kun virtuaalinen perintä suoritetaankin jo aikaisemmassa vaiheessa
multi5_v.cpp - virtuaalinen perintä aikaisemmaksi
class caKuvioJollaSade : virtual public caKuvio {...
ja
ympyräneliö esitellään seuraavasti:
class cYmpyranelio: public cYmpyra, public cNelio {
public:
cYmpyranelio(int ix=0, int iy=0, int ir = 1, int is = 2)
: caKuvio(ix,iy), cYmpyra(ix,iy,ir), cNelio(ix,iy,is) { }
void piirra() const { cYmpyra::piirra(); cNelio::piirra(); }
~cYmpyranelio() { sammuta(); }
};
Tällä
ympyräneliöllä on vain yksi nakyy ja vain yksi
keskipiste, mutta molemmilla kuvioilla on oma säde.