前三章或者四章主要内容看今天学到哪一章了

第一章

构造函数与析构函数

派生类的构造函数与析构函数
派生类构造函数的一般形式如下:
派生类名::派生类名(参数总表):基类名1(参数列表1),…,基类名n(参数列表n){
派生类新增成员的初始化;
}
构造函数执行顺序:
首先,调用基类构造函数
然后,调用内嵌对象构造函数
最后,执行派生类构造函数体中的内容
析构函数执行顺序则相反

多态性

多态性是指当同样的消息被不同的对象接收时,会导致不同的行为。这里所说的消息是指对类成员函数的调用。
函数重载实现了这种多态性。它是建立在虚函数的概念和方法之上,通过虚函数来实现的。
C++中有两种多态性:编译时的多态性和运行时的多态性
编译时的多态性主要是通过函数的重载和运算符的重载来实现。
重载:允许多个同名函数,这里函数的参数列表不同
运行时的多态性是指:在程序执行前,无法根据函数名和参数来确定该调用哪一个函数,必须在程序执行过程中,根据执行
的具体情况来动态地确定。它是通过类继承关系和虚函数来实现的。
说明:通过封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块。它们的目的都是实现代码重用。
而多态则是实现接口的重用。
相同的类指针,但是指针对象的不同,实现的虚函数也就不同。
只能通过对象指针或引用调用虚函数才能实现程序运行时的多态

运算符重载

不是所有的C++运算符都能重载,不能重载的运算符有6个,它们是:
成员访问运算符.
成员指针运算符*
成员指针运算符->
作用域运算符::
sizeof运算符
三目运算符?:

函数模板

函数模板实际上就是参数化的函数。其定义格式如下:
template <模板参数表>
<类型> <函数名>(<参数表>){
<函数体>
}
其中模板参数表中的每一项均有关键字class开始,表示一种数据类型,在使用函数模板时必须将其实例化。

第二章

只是概述

第三章 应用程序框架

windows窗口的创建主要由两个函数完成:WinMain()函数负责建立窗口和建立消息循环,WinProc()函数负责消息的处理。
窗口函数WndProc()只判断消息标识符(message)参数,如果程序比较复杂,还有可能要判断wParam和lParam这两个消息附加参数,
这样函数中就会存在switch-case结构的嵌套
MessageBox()表示弹出一个消息框。GetFocus()函数的返回值是当前窗口的句柄,表明弹出的消息框所属的窗口。
MB_OK表示消息框有一个"确定"按钮,MB_ICONINFORMATION表示消息框带有一个感叹号,或者|运算

MFC基础

MFC约有200个类,提供了windows应用程序框架和创建应用程序的组件。其中只有5个核心类对应用程序框架有影响:
CWinApp、CDocument、CView、CFrameWnd和CDocTemplate
五个之中只有CWinApp是必不可少的类、CWinApp的对象在应用程序中必须有一个,也只能有一个,并且是全局对象,
它建立了应用程序执行的主线程。全局对象是在MFC初始化之前,也即当Windows操作系统调用了WinMain()时,这个对象
就先已建立,即主线程已建立。
MFC库主要分为MFC类、宏和变量(函数)。
MFC库中大部分类派生自CObject、CCmdTarget以及CWnd类等
CObject类提供许多编程所需的公共操作,其包含的最基本功能如下:
支持序列化seralization。序列化指如何让一个对象保持持久不变,即把对象成员数据内容存入一个文件或者从一个文件中读取内容重构对象的过程
运行时类的信息获取
提供特定的new,delete和=操作符,完成对象的建立与删除

1.命令相关类CCmdTarget
MFC库中所有具有消息映射属性的基类。消息映射规定了当一对象接收到消息命令时,应调用哪一个函数对该消息进行处理
2.线程基类CWinThread
所有线程基类,可直接使用。CWinApp类是从CWinThread类中派生出来的
3.应用程序类CWinApp
封装了Windows应用的初始化、运行以及终止的全过程。每一个基于框架的应用必须有一个而且只能有一个派生于CWinApp类的类对象。
这个对象的特别之处在于它是全局对象,因此它在创建任何窗口前首先被构造
4.窗口类CWnd
MFC中所有窗口类的基类,提供了所有窗口操作的基本功能
5.框架窗口类CFrameWnd
有CWnd类直接派生,表示应用程序的主框架窗口,其主要作用是相应标准的窗口消息,不过通常它首先将消息按照一定的次序传递给视图类
以及文档类等其他命令处理类。
6.文档/视类CDocument/CView
文档对象由文档模板对象创建,管理应用程序的数据,视对象表示一个窗口的客户区,显示文档数据并允许用户与之交互


MFC的全局函数与宏
全局函数一般都以"Afx"为前缀,MFC中常用的全局函数如下所示:
AfxBeginThread 开始一个新的线程
AfxEndThread 结束一个旧的线程
AfxFormatString 类似printf,将字符串格式化
AfxMessageBox 类似Windows API函数MessageBox
AfxOutputDebugString将字符串输出除错装置
AfxGetApp 获得application object(CwinApp 派生对象)的指针
AfxGetMainWnd 获得程序主窗口的指针
AfxGetInstance 获得程序的instance handle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值