class Counter; // Declaration (class) class Counter // Definition (class) { public: Counter(); // Declaration (constructor) unsigned addOne(); // Declaration (method) private: unsigned m_value; // Declaration (variable) }; Counter::Counter() // Definition (constructor) : m_value(0) // Initialization (variable) {} unsigned Counter::addOne() // Definition (method) { return ++m_value; // Mutation (variable) } int main () { // Creation (object) = Declaration and Initialization // Instantiation (class) Counter* counter = new Counter(); // Destruction (object) delete counter; return 0; }