特殊工具与技术--运行时类型识别[续] 三.RTTI的使用 当比较两个派生类对象的时候,我们希望比较可能特定于派生类的数据成员.如果形参是基类引用,就只能比较基类中出现的成员,我们不能访问在派生类中但不在基类中出现的成员. 因此我们可以使用RTTI,在试图比较不同类型的对象时返回假(false)。 我们将定义单个相等操作符。每个类定义一个虚函数 equal,该函数首先将操作数强制转换为正确的类型。...
分类:
编程语言 时间:
2014-08-13 22:36:07
阅读次数:
383
C++的继承操作---基类指针访问派生类问题---基类成员恢复访问属性问题...
分类:
编程语言 时间:
2014-08-13 22:25:37
阅读次数:
262
源代码:http://download.csdn.net/detail/nuptboyzhb/4221531CSplitterWnd类CSplitterWnd类提供一个分隔器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口。窗格通常是应用程序特定的由CView派生的对象,但它也可以是具有适当子窗口I...
分类:
其他好文 时间:
2014-08-13 22:19:07
阅读次数:
293
开发人员经常需要将一个对象从一种类型转换为其他各种类型。C#不要求任何特殊语法即可将一个对象转换为它的任何基类型,因为向基类型的转换被认为是一种安全的隐式转换。然而,将对象转换为它的某个派生类型时,C#要求只能进行显示转换,因为这样的转换可能在运行时失败。//该类型隐式派生自System.Obj.....
分类:
其他好文 时间:
2014-08-13 18:13:16
阅读次数:
215
我们知道,抽象类是不能被实例化的。但抽象类是否可以有构造函数?答案是可以有。抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生。不仅如此,抽线类的构造函数还有一种巧妙应用:就是在其内部实现子类必须执行的代码。 以下就是在抽象类的构造函数中来初始化字段。 class ...
分类:
其他好文 时间:
2014-08-13 10:06:35
阅读次数:
153
1.是不是一个父类写了一个virtual函数,如果子类覆盖它的函数不加virtual,也能实现多态?virtual修饰符会被隐形继承的。private也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体(inlin...
分类:
编程语言 时间:
2014-08-12 18:27:24
阅读次数:
319
面向对象中一个重要的特性就是继承,继承的好处就是提高代码的重用率,减少不必要的代码。继承是父类与子类的关系,当子类继承了父类后,就具有了父类的所有变量和方法。在python中定义继承的语法是:class派生类名(基类名)。在使用python的继承时需要注意一下几点:(1)当..
分类:
编程语言 时间:
2014-08-12 17:36:15
阅读次数:
209
MFC的AppWizard可以生成三种类型的应用程序:基于对话框的应用、单文档应用(SDI)和多文档应用(MDI)。一般情况下,采用文档/视结构的应用程序至少应由以下对象组成: 1、应用程序是一个CwinApp派生对象,它充当全部应用程序的容器。应用程序沿消息映射网络分配消息给它的所有子程序。 .....
分类:
其他好文 时间:
2014-08-12 00:10:33
阅读次数:
286
总结 ????虚基类? ????1, 一个类可以在一个类族中既被用作虚基类,也被用作非虚基类。? ????2, 在派生类的对象中,同名的虚基类只产生一个虚基类子对象,而某个非虚基类产生各自的子对象。? ???...
分类:
其他好文 时间:
2014-08-11 18:19:52
阅读次数:
407
当涉及到继承时,派生类的赋值运算符也必须处理它的基类成员的赋值!看看下面:class base {public: base(int initialvalue = 0): x(initialvalue) {}private: int x;};class derived: public base {.....
分类:
其他好文 时间:
2014-08-11 14:55:22
阅读次数:
250