摘要: 初始化类的成员有两种方式,一是使用初始化列表,二是在构造函数体内进行赋值操作。使用初始化列表主要是基于性能问题,对于内置类型,如int, float等,使用初始化类表和在构造函数体内初始化差别不是很大,但是对于类类型来说,最好使用初始化列表,为什么呢?由上面的测试可知,使用初始化列表少了一次调用默认... 阅读全文
posted @ 2015-01-30 18:01 zxpo 阅读(361) 评论(0) 推荐(0) 编辑
摘要: class a {};class b{};class c:public a{virtual void fun()=0;};class d:public b,public c{};类a,b明明是空类,它的大小应该为为0,为什么 编译器输出的结果为1呢?这就是我们刚才所说的实例化的原因(空类同样可以被实... 阅读全文
posted @ 2015-01-30 17:55 zxpo 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 虚函数的解释定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]​语法:virtual 函数返回类型 函数名(参数表) {函数体}用途:实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数A为基类,B派生自A只是A的实例和B的实例有着不同的虚函数表... 阅读全文
posted @ 2015-01-30 17:34 zxpo 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 动多态的设计思想:对于相关的对象类型,确定它们之间的一个共同功能集,然后在基类中,把这些共同的功能声明为多个公共的虚函数接口。各个子类重写这些虚函数,以完成具体的功能。客户端的代码(操作函数)通过指向基类的引用或指针来操作这些对象,对虚函数的调用会自动绑定到你实际提供的子类对象上去。静多态的设计思想... 阅读全文
posted @ 2015-01-30 17:11 zxpo 阅读(212) 评论(0) 推荐(0) 编辑