应用场景:
将一系列固定的接口封装在一个函数中,通过具体的类实现相应的接口。
代码实现:
#include<iostream>
using namespace std;
class AbTemplate
{
public:
virtual void Work() = 0;
virtual void Eat() = 0;
public:
void ImpFun()
{
Work();
Eat();
}
};
class ATemplate :public AbTemplate
{
public:
virtual void Work()
{
cout << "A work" << endl;
}
virtual void Eat()
{
cout << "A Eat" << endl;
}
};
class BTemplate :public AbTemplate
{
public:
virtual void Work()
{
cout << "B work" << endl;
}
virtual void Eat()
{
cout << "B Eat" << endl;
}
};
int main()
{
AbTemplate* AbTemp = nullptr;
AbTemp = new ATemplate;
AbTemp->ImpFun();
delete AbTemp;
AbTemp = new BTemplate;
AbTemp->ImpFun();
delete AbTemp;
return system("pause");
}