CWinApp follows similar design like a singleton class. A singleton class uses a static member to hold its own instance.
Constructor is made private and thus objects cannot be created with new operator or in local space.
singleton class saves its own object in that static member and it never creates more than one object.
It creates first instance and returns the same object for the subsequent creations.
Thus it represents only a single instance and shares the same instance to all the context of an application.
CWinApp also holds static private members to hold many application resources. It provides many global API calls like AfxGetApp, AfxGetInstanceHandle,AfxGetResourceHandle,AfxGetAppName etc to access singleton resources of an application.
Any MFC apllication deals with only one application instance. However the design of CWinApp is not a pure singleton class. Constructor of CWinApp is not private and thus from development point of view there is no restriction to create multiple objects.
In case of multiple application object declared in development , it takes the latest object pointer and it
works with no problen. However it is recomended to create only one instance as the remaining objects will be unused.
MFC has a sanity check and gives an assertion during runtime if we are running debug build.
You have viewed 1 page out of 109. Your VC++ learning is 0.00% complete. Login to check your learning progress.
Similar topics related to this section
Programming Windows, Fifth Edition (Developer Reference)
Programming Applications for Microsoft Windows (Microsoft Programming Series)
Programming Windows with MFC, Second Edition
Visual C++ Programming
Programming Microsoft Visual C++, Fifth Edition
| #1 webmaster Sun 27 Apr/2014 15:36:30(GMT) || 0 || 0|
We are pleased to inform you that a forum/blog has been incorporated with www.mybestnotes.co.in. You are welcomed to add your comments, requests, codes, solutions and feedback to it. Please login(if already a member) or signup(for free) to avail to this facility.
Your message goes here: