深入浅出MFC—Frame1[通俗易懂]

深入浅出MFC—Frame1[通俗易懂]#includeclassCObject{public: CObject() { printf(“CObjectConstructor\n”); } ~CObject() { printf(“CObjectDestructor\n”); }};classCCmdTarget:publicCObject{publ

大家好,又见面了,我是你们的朋友全栈君。

#include <stdio.h>

class CObject
{
public:
	CObject()
	{
		printf("CObject Constructor \n");
	}
	~CObject()
	{
		printf("CObject Destructor \n");
	}
};

class CCmdTarget:public CObject
{
public:
	CCmdTarget()
	{
		printf("CCmdTarget Constructor \n");
	}
	~CCmdTarget()
	{
		printf("CCmdTarget Destructor \n");
	}
};

class CWinThread:public CCmdTarget
{
public:
	CWinThread()
	{
		printf("CWinThread Constructor\n");
	}
	~CWinThread()
	{
		printf("CWinThread Destructor \n");
	}
};

class CWinApp:public CWinThread
{
public:
	CWinApp *m_pCurrentWinApp;
public:
	CWinApp()
	{
		m_pCurrentWinApp = this;
		printf("CWinApp Constructor \n");
	}
	~CWinApp()
	{
		printf("CWinApp Destructor \n");
	}
};

class CDocument :public CCmdTarget
{
public:
	CDocument()
	{
		printf("CDocument Constructor \n");
	}
	~CDocument()
	{
		printf("CDocument Destructor \n");
	}
};

class CWnd:public CCmdTarget
{
public:
	CWnd()
	{
		printf("CWnd Constructor \n");
	}
	~CWnd()
	{
		printf("CWnd Destructor \n");
	}
};

class CFrameWnd:public CWnd
{
public:
	CFrameWnd()
	{
		printf("CFrameWnd Constructor \n");
	}
	~CFrameWnd()
	{
		printf("CFrameWnd Destructor \n");
	}
};

class CView:public CWnd
{
public:
	CView()
	{
		printf("CView Constructor \n");
	}
	~CView()
	{
		printf("CView Destructor \n");
	}
};

//
class CMyWinApp:public CWinApp
{
public:
	CMyWinApp()
	{
		printf("CMyWinApp Constructor \n");
	}
	~CMyWinApp()
	{
		printf("CMyWinApp Destructor \n");
	}
};

CMyWinApp theApp;

//
CWinApp *AfxGetApp()
{
	return theApp.m_pCurrentWinApp;
}

class CMyFrameWnd:public CFrameWnd
{
public:
	CMyFrameWnd()
	{
		printf("CMyFrameWnd Constructor \n");
	}
	~CMyFrameWnd()
	{
		printf("CMyFrameWnd Destructor \n");
	}
};


void main()
{
	CWinApp *pApp = AfxGetApp();
}

//CObject    Constructor
//CCmdTarget Constructor
//CWinThread Constructor
//CWinApp    Constructor
//CMyWinApp  Constructor

//CMyWinApp  Destructor
//CWinApp    Destructor
//CWinThread Destructor
//CCmdTarget Destructor
//CObject    Destructor

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148847.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月16日 上午11:16
下一篇 2022年6月16日 上午11:36


相关推荐

  • vue项目引入外部原生js文件_php引入文件的四个方法

    vue项目引入外部原生js文件_php引入文件的四个方法在开发Vue项目的时候,有时需要使用一些非ES6格式的没有export的js库,可以有如下方法实现:1.在index.html页面使用script标签引入当然也可以使用cdn的地址。这样引入后的内容是全局的,可以在所有地方使用。<!DOCTYPEhtml><html> <head> <title>Map</title> <metacharset=”utf-8″> <meta

    2022年10月8日
    4
  • 电脑蓝屏代码0x000000ed的解决方法_蓝屏错误代码0xc000007b

    电脑蓝屏代码0x000000ed的解决方法_蓝屏错误代码0xc000007b一些用户发现自己的XP系统出现蓝屏,屏幕上显示的代码是0x000000ED,遮盖如何解决呢?今天小编就给大家分享一下解决这个问题的方法吧。导致蓝屏原因:一般都是由系统软件、内存、硬盘引起的。解决方法:1电脑不心装上了恶意软件,或上网时产生了恶意程序,建议用360卫士、金山卫士等软件,清理垃圾,查杀恶意软件,就可能解决。实在不行,重装,还原过系统,可以解决软件引起的问题。2如果不能进入系统,可…

    2022年10月8日
    11
  • 深度学习:自动编码器基础和类型

    深度学习:自动编码器基础和类型本文转载自《机器之心》,原文链接:https://mp.weixin.qq.com/s/QuDa__mi1NX1wOxo5Ki94A,如有侵权请联系删除。很显然,深度学习即将对我们的社会产生重大显著的影响。Mobibit创始人兼CEOPramodChandrayan近日在codeburst.io上发文对自动编码器的基础知识和类型进行了介绍并给出了代码实例。机器之心对本文进行了…

    2022年6月3日
    36
  • 〖Python接口自动化测试实战篇④〗- 接口自动化测试详解

    〖Python接口自动化测试实战篇④〗- 接口自动化测试详解接口测试 是相对来说和我们的功能测试 最为接近的一种自动化测试手段 所以我们首先来学习接口测试的内容 实现接口的开发与接口的测试 在我们的思维上 想法上 面向的态度上都是不一样的 所以大家要有一个思维上的转换 要认识了解一下接口测试到底是做什么的 它的功能 意义在哪里

    2026年3月19日
    1
  • html grid_react datagrid

    html grid_react datagridASP.NETMVC3Beta初体验之WebGrid   ASP.NETMVC3Beta中除了推出一种新的视图引擎Razor。还推出了几种新的HtmlHelper。我比较关注的是WebGrid,这篇文章将介绍一下WebGrid的使用。WebGrid提供了分页和排序的功能,在此之前在MVC中分页和排序时需要自己去写的。这篇文章将分别介绍在aspx视图引擎和Ra

    2022年10月6日
    5
  • LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    2021年10月14日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号