摘要: 1:多重继承对于一个继承了多个base class 的对象,将其地址指定给最左端(也就是第一个)base class的指针, 情况将和单一继承时相同,因为两者都指向相同的其实地址。至于第二个或者更后面的base class的 地址指定操作(把derived class对象地址 赋给 ... 阅读全文
posted @ 2015-09-16 20:05 boydfd 阅读(353) 评论(0) 推荐(0) 编辑
摘要: copy constructor也分为trivial和nontrivial两种 如果class展现出bitwise copy semantics(按位拷贝语义),则不会构造出 copy constructor。反之,会构造出一个copy constructor。不要bitwise c... 阅读全文
posted @ 2015-08-30 09:23 boydfd 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 4种情况下编译器会构造出nontrivial(有用)的构造函数 带有default construction的member class object 我们有两个class: class Foo { public: Foo(), Foo(int) … }; class ... 阅读全文
posted @ 2015-08-29 15:51 boydfd 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 1:简单对象模型 1>介绍:每个成员都使用一个指针指向真正的成员。所以对象 的大小很好确定,就是成员数*指针大小。 2>用途:成员函数就是使用这个模型的 3>图: 4>加上继承:每增加一个基类,就多一个指针。 2:表格驱动对象模型 1>... 阅读全文
posted @ 2015-08-27 17:25 boydfd 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 遇到的问题:1:在QT中使用opengl,发现一个很神奇的问题,个人感觉是qt的bug。问题详情:在我添加了一个成员变量之后,使用opengl编写的窗口没有任何输出了,只有一个背景。 但是删除那个成员变量后,窗口右成功显示了。解决办法:只要删除或增加几个成员变量即可。这... 阅读全文
posted @ 2015-05-17 09:24 boydfd 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 遇到的问题:1:在debug模式下可以顺利执行,但是换到release模式下没法执行了。会显示 exited with code 1 。解决办法:把产生的release文件放到QT的bin库下,看是否能执行,如果能执行,那么说明环境变量没有正确地设置,只要把这个bin的路径添加到环境... 阅读全文
posted @ 2015-05-13 20:44 boydfd 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 这个星期在使用qt,碰到一个很蛋疼的问题:创建对话框的时候,不小心输错了名字。而且是在很迟才发现的。这个时候对话框都已经布局差不多了,为了改名字,碰到更蛋疼的问题,改了名字后就无法使用转到槽的功能了。具体的错误显示如下: this application failed to ... 阅读全文
posted @ 2015-05-11 17:05 boydfd 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 学完设计模式就需要开始练习练习,我会慢慢把所有的设计模式都练习一遍的。整个练习的背景就是设计模式书上的迷宫。不过书上只是零零散散地把创建型的迷宫实现了,而且还没有联系。下面先上一张图,当然,还不完全。 看着这张图,可以慢慢地来分析了。首先从房间入手吧。Room这里用的是原型模式(其实... 阅读全文
posted @ 2015-05-03 12:47 boydfd 阅读(1643) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/28----------------------------//TemplateMethod 模版方法模式----类行为型模式/* 1:意图: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMeth... 阅读全文
posted @ 2015-04-28 16:30 boydfd 阅读(184) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/28----------------------------//Strategy 策略模式----对象行为型模式/* 1:意图: 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。使算法可独立于使用它的客户而变... 阅读全文
posted @ 2015-04-28 16:07 boydfd 阅读(184) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/28----------------------------//State 状态模式----对象行为型模式/* 1:意图: 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 2:别名: 状态... 阅读全文
posted @ 2015-04-28 14:38 boydfd 阅读(226) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/27----------------------------//Observer 观察者模式----对象行为型模式/* 1:意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知... 阅读全文
posted @ 2015-04-28 07:31 boydfd 阅读(227) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/27----------------------------//#49 了解new-handler的行为{/* 1:在operator new操作失败时,它首先会调用new_handler函数来处理,客户可以通过set_new... 阅读全文
posted @ 2015-04-28 07:30 boydfd 阅读(207) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/27----------------------------//Memento 备忘录模式----对象行为型模式/* 1:意图: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可讲该... 阅读全文
posted @ 2015-04-27 16:37 boydfd 阅读(222) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/27----------------------------//Mediator 中介者模式----对象行为型模式/* 1:意图: 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散... 阅读全文
posted @ 2015-04-27 15:28 boydfd 阅读(209) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/26----------------------------//Iterator 迭代器模式----对象行为型模式/* 1:意图: 提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。 2:别名: ... 阅读全文
posted @ 2015-04-27 07:41 boydfd 阅读(217) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/26----------------------------//Interpreter 解释器模式----类行为型模式/* 1:意图: 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言... 阅读全文
posted @ 2015-04-26 13:58 boydfd 阅读(193) 评论(0) 推荐(0) 编辑
摘要: //#45 运用成员函数模版接受所有兼容类型{/* 1:当你使用智能指针的时候,会发生一个问题,想把一个子类的对象赋给基类的指针变得不可能了, 因为智能指针指定了的是基类的类型,而赋给它的是一个它的子类的对象。 2:解决办法,使用成员函数模版,可以分别对拷贝构造函数和赋值操作进行模版化: ... 阅读全文
posted @ 2015-04-26 09:47 boydfd 阅读(210) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/25----------------------------//#41 了解隐式接口和编译期多态{// 1:面向对象编程总是以显示接口和运行期多态解决问题: void doProcessing(Widget& w) { i... 阅读全文
posted @ 2015-04-25 19:16 boydfd 阅读(239) 评论(0) 推荐(0) 编辑
摘要: //---------------------------15/04/25----------------------------//Conmmand 命令模式----对象行为型模式/* 1:意图: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,... 阅读全文
posted @ 2015-04-25 16:33 boydfd 阅读(184) 评论(0) 推荐(0) 编辑