版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30042269/article/details/80528102
1.定义一个ABC类。
2.包含A和B共有的所有方法和数据成员。
3.在A/B中行为不同的方法,被声明为虚函数。
4.至少一个纯虚函数,这样才能成为ABC。
ABC描述的是至少使用一个纯虚函数接口,从ABC派生的类将根据其特征,实现接口。
class AccABC{
private:
intm_a;
longm_b;
protected:
intget_a(){return a;}
public:
AccABC(inta,long b);
virtualvoid Fun1(double x)=0;
virtualvoid Fun2()=0;
~AccABC();
}
class A:public AccABC
{
public:
A(inta,int b):AccABC(a,b){}
virtualvoid Fun1(double x);
virtualvoid Fun2();
virtual~A();
}
class B:public AccABC
{
private:
intm_c;
intm_d;
public:
B(inta = 0,int b = 0,int c = 0,int d = 0):
B(constA &a,int c,int d);
virtualvoid Fun1(double x);
virtualvoid Fun2();
voidFun3();
}
ps:
1. 使用=0:纯虚函数,在类中可以不定义。但可以在实现文件中定义。
2. 包含纯虚函数的类只能为基类,要成为ABC, 至少有一个纯虚函数。
3. 当类中包含纯虚函数时,不能创建该类的对象。