摘要:
VC++中如果类包含有纯虚函数,则类必须声明为抽象类,如下:class CGDIElement abstract //类包含纯虚函数时,必须定义为抽象类{public:CGDIElement(void);//构造函数不能是虚函数,派生类继承方式见后virtual ~CGDIElement(void); //析构函数如果要让派生类继承,必须定义为虚函数virtual void Init(void) = 0; //纯虚函数};派生类的定义如下:class CGDILine : public CGDIElement{public:CGDILine(void):CGDIElement() //调用基类 阅读全文
摘要:
在派生类的定义中为基类提供访问说明符,如下:class CGDILine : public CGDIElement{public:CGDILine(void);};共有三种情况:private,protected,public,默认说明是private,分别说明了派生类与基类之间的关系:private 基类的成员在派生类中永远都不可访问protected 基类的public成员在派生类中成为protectedpublic 基类的成员在派生类中的访问级别保持不变 阅读全文
摘要:
VC++中类指针使用dynamic_cast<>()运算符进行转换,其与static_cast<>()之间的区别在于:dynamic_cast<>()在运行时检查转换的有效性,如果无效则结果为空(NULL)static_cast<>()在编译时检查转换的有效性。还存在一种老式的强制转换:(要转换成的类型)表达式在C++中已不建议使用。 阅读全文