如果我们选择重载一个类的赋值运算符,要注意在自赋值时仍然能够正确工作。自赋值看起来像是不正确的调用方式, 但是在C++中这是合法的而且常常是不可识别的。例如:
C++的赋值操作符(assignment operator)有一个有趣的用法: int x, y, z; x = y = z = 15; ...
你在为某证券公司设计股市交易软件,需要有一个类用来表示股市交易: class Transaction{ ...
构造函数可以抛出异常。 C++标准指明析构函数不能、也不应该抛出异常。 在步入正题前,我们先来讲讲什么叫栈展开(stack unwinding),才能更好理解C++异常(...
位图是描述图像的最简单直观的一种方式,把图像横向分为等间距的W列,纵向分为等间距的H列,于是这个图像大小被定义为分辨率W*H。位图分为单色图和彩色图,区分方法是图片的一个...
画刷其实是一个像素大小为8*8的位图,用多个相同的位图对封闭图形的内部进行填充。 MFC的CBrush类封装了画刷对象,创建画刷时,首先定义一个画刷对象,然后调用Crea...
FC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下: BOOL CreatePen( int ...
图形设备接口(Graphics Device Interface,GDI),把应用程序的函数调用传递给图形设备驱动程序,由设备驱动程序来执行与硬件相关的函数。GDI向应用...
使用AppWizard创建SDI和MDI的过程相似,主要区别是创建SDI时不生成CChildFrame类,CMainFrame类的基类为CMainWnd;而在创建MDI时...
文档和视图结构的优势就在于数据的管理与显示分离,数据总是要以一定的结构来存储,而视图负责数据的呈现。数据往往有多种呈现方式,例如一份报表,可以用表格的形式呈现,也可以用图...
MFC中提供了丰富的视类供开发者使用,下面对各个类进行介绍: 1) CView类是最基本的视类只支持最基本的操作。 2) CScrollView类提供了滚动的功能,你可以...
在程序运行时CWinApp将创建一个CFrameWnd框架窗口实例,而框架窗口将创建文档模板,然后有文档模板创建文档实例和视实例,并将两者关联。一般来讲我们只需对文档和视...
视类窗口是指程序运行后,显示信息的那一部分。对应的类是CXXXView(XXX表示项目名称)类,CXXXView类是派生于CView类,而CView类又派生于CWnd类。...
以下是我在最初学习VC时所常用的开发思路和方法,希望能对初学VC的朋友有所帮助和启发。 开发需要读写文件的应用程序并且有简单的输入和输出可以利用单文档视结构。 开发注重交...
MFC字符串操作类CString CString是用来表示可变长度的字符串的类。在MFC中,这个类的使用频率非常高。CString是MFC经过封装后特有的一种字符串类型,...
主要有4个部分组成: 1) 资源文件Resource.h:主要是定义资源的ID。 2) 预编译文件:可以用来解决头文件包含冲突的问题,定义一些需要全局性包含的文件。 3)...
从程序设计转化为软件设计,这是激动人心的时刻。这里面对的不再是黑色的、单调的控制台界面,而是一个崭新的环境。各种功能强大,界面漂亮的软件,将从你的手上诞生。软件开发的第一...
Windows操作系统提供了各种各样的函数,以方便我们开发Windows应用程序。这些程序是Windows操作系统提供给应用程序编程的接口(Application Pro...
C++内存分配方式以及它们的区别详解
Boost是一个C++开发者的社区,作为C++标准的试验场, 收容了很多高质量、开源的、跨平台、独立于编译器的C++库, 包括许多TR1组件的实现。