📄 demo_5_pure_virtual_function_abstract_class_1.cpp
字号:
//**********************************************************
// 纯虚函数和抽象类 pure virtual function & abstract class
//**********************************************************
#include <iostream.h>
class Base //基类-抽象类
{
public:
Base(double x) { r=x; } //基类的构造函数
// virtual void Area()=0; //纯虚函数的声明,不可创建基类对象
// virtual void Area()=0 {} //纯虚函数的等价声明
virtual void Area()=0 //纯虚函数的等价声明
{
cout<<"Base Pure Virtual Function"<<endl;
return;
}
// virtual void Area() {} //不是纯虚函数的等价声明,因仍可创建基类对象
double s;
protected:
double r;
};
class Derived:public Base //派生类
{
public:
Derived(double x):Base(x) {} //派生类的构造函数
void Area()
{
s=3.14*r*r;
return;
}
};
void main()
{
// Base b(10);
Derived d(10); //若派生类无重定义基类纯虚函数,则仍是抽象类,不能创建对象
d.Area();
cout<<"Area="<<d.s<<endl;
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -