建造者模式:将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同属性的对象。当构造一个对象时,构造的流程是相同的,但每一个步骤对应的具体操作是有差异的。这时,可以将需要进行的初始化作为虚函数固定到一个抽象基类中,这个抽象基类称为抽象建造者类;而具体的实现则由派生类中重写的虚函数定义,这个派生类称为具体建造者类。有了具体的建造步骤,下一步就是要按顺序调用这些步骤,这是由一个称为指...
                            
                            
                                分类:
其他好文   时间:
2014-07-24 23:16:44   
                                阅读次数:
205
                             
                    
                        
                            
                            
                                转换和继承,虚函数
Understanding conversions between base and derived classes is essential to
understanding how object-oriented programming works in C++.
理解基类和派生类之间的转换是必不可少的 理解面向对象编程在。
Like built-i...
                            
                            
                                分类:
编程语言   时间:
2014-07-24 10:26:53   
                                阅读次数:
488
                             
                    
                        
                            
                            
                                #include#includeusing namespace std;class A{public: virtual void fun1()=0; //纯虚函数 virtual void fun1(){coutfun1(); b->fun2(); return 0;}结果:B::fun0B:...
                            
                            
                                分类:
编程语言   时间:
2014-07-23 15:05:16   
                                阅读次数:
179
                             
                    
                        
                            
                            
                                unity3d事件函数整理,事件,回调函数,消息处理Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。Awake当前控制脚本实例被装载的时候调用。一般用于初始化整个实...
                            
                            
                                分类:
其他好文   时间:
2014-07-23 11:57:46   
                                阅读次数:
202
                             
                    
                        
                            
                            
                                写在前面用自己的话分析清楚~智能指针是如何使用的?强指针是如何实现?弱指针如何转化为强指针?智能指针的使用智能指针的使用必须满足如下条件:这个类需要继承自RefBase为什么需要虚析构函数?虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。虚函数的出现是为了...
                            
                            
                                分类:
其他好文   时间:
2014-07-22 22:46:36   
                                阅读次数:
446
                             
                    
                        
                            
                            
                                覆盖类成员:通过new关键字修饰虚函数表示覆盖该虚函数。一个虚函数被覆盖后,任何父类变量都不能访问该虚函数的具体实现。public virtual void IntroduceMyself(){...}//父类虚函数public new void IntroduceMyself(){...}//子类...
                            
                            
                                分类:
其他好文   时间:
2014-07-22 22:40:55   
                                阅读次数:
201
                             
                    
                        
                            
                            
                                《C++ Primer Plus》学习笔记8
第13章 类继承
主要内容:
①is-a关系继承
②如何以公有的方式从一个类派生到另一个类
③保护访问
④构造函数成员初始化列表
⑤向上和向下强制转化
⑥虚拟成员函数
⑦早期(静态)联编和晚期(动态)联编
⑧抽象基类
⑨纯虚函数
⑩何时以及如何使用公有继承
1、一个简单的基类
从一个类派生出另一个类时候,原始类称...
                            
                            
                                分类:
编程语言   时间:
2014-07-22 22:39:14   
                                阅读次数:
246
                             
                    
                        
                            
                            
                                C++版看到的,说是面试宝典里的题目,考察重载、覆盖、多态等概念,比较有代表性。今天早上远程辅导 Yan Wang 同学学习 Qt 时还想到了这个题目,如果你能够正确理解这个题目,说明对于 C++ 中的函数重载、覆盖、虚函数、多态等有了正确的认识。然后呢,再来学习 Qt 就顺风顺水了。...
                            
                            
                                分类:
编程语言   时间:
2014-07-21 11:45:56   
                                阅读次数:
345
                             
                    
                        
                            
                            
                                我们首先对下面三个常见的术语进行区分:
①对函数f()进行重载(overload)是表示,在相同的作用域中定义另一个相同的名字(f)的函数,并且这个函数与f()有着不同的参数个数和参数类型。当程序调用函数f()时,编译器将会根据实际提供的参数来选择最匹配的函数。
②对虚函数f()进行覆盖(override)是表示,在派生类中定义一个相同的名字(f)的函数,并且这个函数的参数个数和参数类型与f(...
                            
                            
                                分类:
其他好文   时间:
2014-07-21 11:26:05   
                                阅读次数:
166
                             
                    
                        
                            
                            
                                一、C++为什么引入虚函数,虚函数有哪些用途? 1.非虚的世界 对象的自恰性:对同样的函数调用,每个对象都会做出恰当的响应. b. 通过指向子类对象的基类指针调用函数: 只能调用基类的成员函数,虽然指针指向子类对象. 一旦调用子类所特有的成员函数,将引发编译错误. c.通过指向基类对象的子真调用函数...
                            
                            
                                分类:
其他好文   时间:
2014-07-21 09:38:40   
                                阅读次数:
213