class GameApplication; class Model; class GameApplication { public: GameApplication() { cout << "GameApplication constructed" << endl; } ~GameApplication() { cout << "GameApplication destructed" << endl; } void Model_CONST(Model* Mdl); void Model_DEST(Model* Mdl); }; class Model { public: Model() { cout << "Model constructed" << endl; } ~Model() { cout << "Model destructed" << endl; } void say_hello() { cout << "Model: HELLO!" << endl; } }; ///////////////////// void GameApplication::Model_CONST(Model* Mdl) { cout << "Application constructs Model now:" << endl; Mdl = new Model; } void GameApplication::Model_DEST(Model* Mdl) { cout << "Application destructs Model now:" << endl; delete Mdl; } ///////////////////// int main() { GameApplication* App = new GameApplication; Model* Mdl; App->Model_CONST(Mdl); //Mdl = new Model; Mdl->say_hello(); App->Model_DEST(Mdl); //delete Mdl; delete App; ////////////////// Console::ReadKey(); }