C++关键技术总结
int main()
{
Shape sh1, *pShape;
Rectangle rect1;
pShape = &sh1; //指针pShape指向Shape对象sh1
pShape->Area();
pShape = &rect1; //指针pShape指向Rectangle对象rect1
pShape->Area();
return 0;
}
2、纯虚函数
纯虚函数的一般格式为:
Virtual 返回类型 函数名(参数表)=0
(1) 定义纯虚函数时,没有实现部分,不能产生对象,不能被直接调用
(2) “=0”本质上是将指向函数体的指针定义为NULL,纯虚函数仅起提供一个与派生类相一致的接口作用,用于派生类中具有相同名字的函数的存放处。
(3) 在派生类中必须有重新定义的纯虚函数的函数体,即使再次声明该函数为纯虚函数。
3、抽象类
如果一个类中,至少有一个纯虚函数,那么称该类为抽象类。抽象类不能实例化,它只是将许多相关的类组织起来,提供一个公共的基类,而那些被它组织在一起的具体的类由它派生出来。
#include <iostream>
using namespace std;
class CMenu //抽象类
{
public:
virtual void func() = 0; //纯虚函数
};
class CFormMenu1: public CMenu
{
public:
void func()
{
cout << "你选择的是——新建文件菜单" << endl;
}
};
class CFormMenu2: public CMenu
{
public:
void func()