//Simple Critter //Demonstrates creating a new type #include using namespace std; class Critter // class definition -- defines a new type, Critter { public: int m_Hunger; // data member Critter(int hunger = 0); // constructor prototype void Greet(); private: int m_Mood; }; //Critter::Critter(int hunger): m_Hunger(hunger) ----> This format hampers readability // ----> Hacking convinience does not equate with readability Critter::Critter(int hunger) // constructor definition { m_Hunger = hunger; cout << "A new critter has been born!" << endl; } void Critter::Greet() // member function definition { cout << "Hi. I'm a critter. My hunger level is " << m_Hunger << ".\n"; } int main() { Critter crit1; Critter crit2; crit1.m_Hunger = 9; cout << "crit1's hunger level is " << crit1.m_Hunger << ".\n"; crit2.m_Hunger = 3; cout << "crit2's hunger level is " << crit2.m_Hunger << ".\n\n"; crit1.Greet(); crit2.Greet(); system("PAUSE"); return 0; }