码迷,mamicode.com
首页 >  
搜索关键字:派生类    ( 2570个结果
十二,几何图形和图画
Path类是功能最强大的形状类,它能够包含任何简单形状、多级形状及更更复杂的曲线。Path.Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个或多个图形,Geometry是一个抽象类,指定Data时需要使用以下Geometry类的派生类: 路径和几何图形之间的区别:几何图形定...
分类:其他好文   时间:2014-08-24 22:13:23    阅读次数:553
为多态基类声明虚析构函数
前言 在使用 C++ 实现多态的时候,有一点一定要清楚:当派生类对象经由基类指针被删除,而此基类的析构函数没有被声明为虚函数的话,那么析构函数只会释放基类部分的成员而无视派生类成员。 如果不对这一点加以防范,那么很多时候,会带来内存泄露这样灾难性的后果。解决之道 1. 对于要拿来实现多态的基类...
分类:其他好文   时间:2014-08-24 16:34:32    阅读次数:135
条款42: 明智地使用私有继承
第一个规则是,和公有继承相反,如果两个类之间的继承关系为私有,编译器一般不会将派生类对象(如Student)转换成基类对象(如Person)第二个规则是,从私有基类继承而来的成员都成为了派生类的私有成员,即使它们在基类中是保护或公有成员,即派生类对象不能访问基类的所有成员class person{}...
分类:其他好文   时间:2014-08-24 14:07:32    阅读次数:126
C++虚拟继承 类的内存布局
1、 单个虚拟继承 只是为了分析而已,实际中并没有太大的作用。跟虚拟继承相关的派生类对象的内存布局跟具体的编译器相关。    (1)VS编译器:无论有无虚函数,必然含有虚基类表指针。虚基类表中的内容为本类实例的偏移和基类实例的相对偏移值。如果有虚函数,那么基类的虚函数表跟派生类的虚函数表是分开的。 在内存布局上,地址从低到高,顺序如下:派生类的虚函数表指针+虚基类表指针+派生类的成员变量+“...
分类:编程语言   时间:2014-08-23 11:24:30    阅读次数:357
工厂方法模式
模式说明工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法模式让实例化推迟到子类。和简单工厂区别在于,每个工厂只管生产自己对应的产品,而简单工厂是一个工厂生产各种产品。模式结构图程序示例说明:一个日志类,两个派生类(文件日志和事件日志);一个日志工厂类(返回日志类),两...
分类:其他好文   时间:2014-08-23 11:08:20    阅读次数:172
C++之面向对象编程总结
1. 面向对象编程的三个基本概念:数据抽象(类),继承(类继承)和动态绑定(运行时决定使用基类函数还是派生类函数)。面向对象编程的关键思想是多态性。 2. 派生类可以继承基类中定义的成员;派生类可以调用基类函数;派生类可以重定义基类的函数;派生类可以定义新的数据成员和函数成员。 3. 基类通过关键字virtual来指出希望派生类重新定义的函数(虚函数)。而基类希望派生类继承的函数不能使用virtual关键字。 4. 通过动态绑定可以使我们在继承层次中使用任意类型的对象,而不用关心对象的具体类型。使用这些类的...
分类:编程语言   时间:2014-08-22 16:25:21    阅读次数:220
条款39: 避免 "向下转换" 继承层次
基类指针不能调用派生类的独有的成员,此时可以使用static_cast来转换,但不要这么做,因为向下转换难看、容易导致错误,而且使得代码难于理解、升级和维护,static_cast不会进行类型检查,即使指针指向的对象的类型与转换的目标类型不一样,比如说指针指向基类对象,转换为派生类对象,此时仍然会继...
分类:其他好文   时间:2014-08-21 14:36:44    阅读次数:182
this指针的隐式动态绑定
遇到了这一段代码: class CBase{public: virtual void virfun() //虚函数 { coutvirfun();//this指针永远指向基类,无论其是否有派生类 }};class CDerive:public CBase{ virtual void virfun()...
分类:其他好文   时间:2014-08-21 11:05:03    阅读次数:181
句柄类与继承
前一小节《容器与继承》http://blog.csdn.net/thefutureisour/article/details/7744790提到过:对于容器,假设定义为基类类型,那么则不能通过容器訪问派生类新增的成员;假设定义为派生类类型,一般不能用它承载基类的对象,即使利用类型转化强行承载,则基类...
分类:其他好文   时间:2014-08-21 09:40:53    阅读次数:264
十二,几何图形和图画
Path类是功能最强大的形状类,它能够包含任何简单形状、多级形状及更更复杂的曲线。Path.Data属性,该属性接受一个Geometry对象,该对象定义路径包含的一个或多个图形,Geometry是一个抽象类,指定Data时需要使用以下Geometry类的派生类: 路径和几何图形之间的区别:几何图形定...
分类:其他好文   时间:2014-08-21 01:33:13    阅读次数:227
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!