抽象类的一般形式
带有纯虚函数的类称为抽象类:
class 类名
{
virtual 类型 函数名(参数表)=0;//纯虚函数
。。。。。。
}
1、抽象类为抽象和设计的目的而建立,讲有关的
数据和行为组织在一个继承层次中,保证派生类具
有要求的行为。
2、对于暂时无法实现的函数,可以声明为纯虚函数
留给派生类去实现。
抽象类只能作为基类来使用。
不能声明抽象类的对象,但是能声明抽象类的指针对象。
一。不恰当的虚函数。
#include<iostream>
using namespace std;
class base{
public:
virtual void fun(int x)
{
cout<<"base class"<<x<<endl;
}
};
class subclass:public base
{
public:
virtual void fun(float x)
{
cout<<"subclass class"<<x<<endl;
}
};
void test(base& b)
{
int i=1;
b.fun(i);
float f=2.0;
b.fun(f);
}
int main()
{
base bs;
subclass sb;
test(bs);
test(sb);
}