您的位置:首页 > 编程语言 > C语言/C++

C++虚函数接口类

2016-03-15 19:47 363 查看
/*======================================================================
接口类:
仅含有纯虚函数的类称为接口类。
无数据成员
成员函数全部是纯虚函数
接口类更多的表达一种能力或协议
起飞		降落		子类一定要实现这些纯虚函数
/*======================================================================*/
#include <iostream>
#include<string>
using namespace std;
class Flyable
{
public:
Flyable() {}
virtual ~Flyable(){}
virtual void land() = 0;
virtual void takeoff() = 0;
};
class Plane:public Flyable
{
public:
Plane(string name)
{
this->m_strNum = name;
}
~Plane() {}
virtual void takeoff()
{
cout << "飞机起飞" << endl;
}
virtual void land()
{
cout << "飞机降落" << endl;
}
virtual void printcode()
{
cout << "我是飞机"<< m_strNum << endl;
}
protected:
string m_strNum;
};

class FightPlane:public Plane
{
public:
FightPlane(string name):Plane(name)
{

}
virtual ~FightPlane(){}
virtual void takeoff()
{
cout << "战斗机起飞" << endl;
}
virtual void land()
{
cout << "战斗机降落" << endl;
}
virtual void printcode()
{
cout << "我是战斗机" << m_strNum << endl;
}

private:
};
void flyMatch(Flyable *f1, Flyable*f2)
{
f1->takeoff();
f1->land();
f2->takeoff();
f2->land();
}
int main()
{
Flyable *f1=new FightPlane("f1");
FightPlane *f2 = new FightPlane("f2");
flyMatch(f1, f2);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: