摘要:
今晚写代码,结构体直接=报错了,于是给结构体重载运算符,在博客园中看见一篇很好的博客,收藏啦~~~原地址:http://www.cnblogs.com/xielechuan/archive/2012/05/25/2518358.html结构体运算符重载1、定义结构体struct Currency{ int Dollar; int Cents;}2、重载IO输出操作,在结构体内部将输入操作的重载定义为友元函数重载friend ostream &operator<<(ostream &out,Currency value);在结构体外部进行具体定义ostream& 阅读全文
摘要:
在资源视图中,选中一个控件,右键添加变量,没有反应,主要原因是对话框没有关联到类,所以无法添加。想在单文档里面使用对话框,可视化编辑,可将dialog关联到cformview类。 阅读全文
摘要:
一、引用变量的三个特性:①引用和它引用的对象在数值上是联动的,改变你也就改变了我,改变我也就改变了你。 ②从一而终,引用在初始化是绑定某个对象后是不能改变的,如: intv,k,h; //定义三个int的变量 int&rv=v; //定义了一个和v绑定的引用rv rv=3; //此时rv的值变为3,v的值也变为3 v=5; //此时v的值变为5,rv的值也变为5 k=rv+2; //此时k=5+2=7。 h=12; //此时h=12 rv=h; //引用是从一而终的... 阅读全文
摘要:
MFC默认建立的Dialog按Esc响应OnCancel,回车响应OnOK,都会关闭对话框。而点击下方两个按钮功能相同,点击确定是响应OnOK, 点击取消调用OnCancel。而OnOK和OnCancel之间是有区别的:CDialog::OnOK首先调用UpdateData(TRUE)将数据传给对话框成员变量,然后调用CDialog::EndDialog关闭对话框。 CDialog::OnCancel只调用CDialog::EndDialog关闭对话框。所以我们在销毁dialog需要进行一些数据交换就可以在OnOK中进行。 阅读全文
摘要:
Builder建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。上图的类关系主要是这样的:有两种车要生产:benz和BMW, 其中每种不同品牌的车里面还有小的分类,比如有些BENZ车要加入一些功能如(EngineBoom,并不是所有的车都有)。所以我们先创建一个abstract类,里面有生产车的各个步骤的抽象方法,然后是BENZ车和BMW车都去继承这个类,各自实现自己抽象类里各个步骤的具体方法。然后创建builder模式中关键的类builder类,该类用来实现按顺序去创建具体的产品,然后针对每种产品创建出一个相对应的builder继承抽象builder类。然 阅读全文
摘要:
当程序中某个类只允许只有一个对象存在的时候用到singleton模式。具体的代码实现:singleton 类单例模式很多时候与工厂模式结合起来用,因为工厂都定义为单一的。 阅读全文
摘要:
AbstractFactory模式解决这类问题:要创建一组相关或者相互依赖的对象。上图是对抽象工厂的理解,抽象工厂和工厂模式最大的区别就是用户对一组对象的创建,每组对象又有不同的子对象。比如说有怪物(低级怪物,中级怪物),巫婆(低级巫婆,高级巫婆);黄种人(男,女),白种人(男,女),黑种人(男,女)....就要用到抽象工厂模式。每个具体的工厂负责创建低级的或者高级的,男人或女人... 阅读全文
摘要:
factory模式主要是解决两个问题:①创建对象的接口封装product ②将类的实例化推迟到子类ConcreteFactoryfactory模式带来的两个问题以及解决:①如果为每个具体的concreteproduct类的实例化提供一个函数体,每新添加一个具体的product就得加一个函数体,这样factory接口就永远不能封闭。这个问题可以通过创建factory子类多态来实现这一点,但是这也是以新建一个类作为代价。②在实现中我们可以通过参数化工厂方法,即给factorymethod方法传递一个参数用来决定具体是创建哪一个concreteproduct。图一:创建对象的封装接口product图 阅读全文
摘要:
刚开始把代码写在了注释掉的地方,是错误的,在窗口没有创建之前是不能进行操作的。 阅读全文
摘要:
IDC_APPSTARTING 标准的箭头和小沙漏IDC_ARROW 标准的箭头IDC_CROSS 十字光标IDC_HELP 标准的箭头和问号IDC_IBEAM 工字光标IDC_NO 禁止圈IDC_SIZEALL 四向箭头指向东、西、南、北IDC_SIZENESW 双箭头指向东北和西南IDC_SIZENS 双箭头指向南北IDC_SIZENWSE 双箭头指向西北和东南IDC_SIZEWE 双箭头指向东西IDC_UPARROW 垂直箭头IDC_WAIT 沙漏 阅读全文