In most C++ textbooks class definitions are very simplistic, ie., normally you have private: followed by a few identifiers and then public: followed by a few member functions. Is it a good idea to use class or even define class definitions within another class definition with the possibility of having member functions defined within. Or is this bad practice?