// esim2.cpp #include #include using namespace std; class Animal { protected: // aliluokka saa käyttää jäsenmuuttujia suoraan, mutta ulkopuoliset luokat eivät string m_race; string m_name; public: Animal( string race, string name ) { cout << "Animal-muodostin..." << endl; m_race = race; m_name = name; } ~Animal() { cout << "Animal-hajotin..." << endl; } void eat() { cout << m_race << "eläin " << m_name << " syö..." << endl; } }; class Lion : public Animal { public: Lion( string name ) : Animal( "Leijona", name ) { cout << "Lion-muodostin..." << endl; } ~Lion() { cout << "Lion-hajotin..." << endl; } void eat() { cout << m_race << "eläin " << m_name << " syö lihaa..." << endl; } }; int main(void) { Animal elukka( "Elefantti", "Tantor" ); elukka.eat(); Lion jellona( "Numa" ); jellona.eat(); return (0); }