...
Code Block |
---|
int main()
{
CKissa kissa; // Luodaan uusi olio CKissa-luokasta.
CKoira koira; // Luodaan uusi olio CKoira-luokasta.
CElain* elain; // Luodaan CELain-tyyppinen osoitin eli kantaluokan tyyppinen osoitin.
elain = &kissa; // Pistetään CElain-tyyppinen osoitin osoittamaan olioon kissa.
elain->Aantele(); // Kutsutaan CKissa-luokassa toteutettua Aantele()-metodia.
elain = &koira; // Pistetään CElain-tyyppinen osoitin osoittamaan olioon koira.
elain->Aantele(); // Kutsutaan CKoira-luokassa toteutettua Aantele()-metodia.
};
|
Esimerkissä luodaan oliot CKissa- sekä CKoira-luokista. Lisäksi luodaan CElain-tyyppinen osoitin. Tämän osoittimen kautta voidaan käsitellä kaikkia CElain-luokan esittelemiä (public ja protected) metodeja, kuten Aantele()-metodia. CElain-luokka toimii yhteisenä rajapintana CKissa ja CKoira -luokille.
...
Ohjelma tulostaa::
No Format |
---|
CElain-tyyppisen osoittimen kautta käyttäen:
CElain::f()
CKissa::fv()
CKissa-tyyppisen osoittimen kautta käyttäen:
CKissa::f()
CKissa::fv()
|
...