您的位置:首页 > 其它

小鹰展翅_虚函数

2015-06-06 11:54 344 查看
#include<iostream>

using namespace std;

class Shape{/*有纯虚函数的类叫做抽象类,它指定公共接口,功能由派生类来实现*/
public:
virtual void shapeName()const = 0;/*是否所有派生类都对此纯虚函数进行了重写,否则会怎么样?*/
};

point.h:

#include"shape.h"

class Point :public Shape{
public:
virtual void shapeName()const { cout << "point:"; }
};


circle.h:

#include"point.h"

class Circle :public Point{
public:
virtual void shapeName()const{ cout << "circle:"; }
};


cylinder.h:
#include"circle.h"

class Cylinder :public Circle{
public:
virtual void shapeName()const { cout << "cylinder:"; }
};

run.cpp:

#include"cylinder.h"

void showName(const Shap&s){/*shapName是一个公共接口,所以能够输出各个派生类的name*/
cout<<"name\t";
s.shapeName();
cout<<endl;
}

int main(){
Point point;
Circle circle;
Cylinder cylinder;

show(point);
show(circle);
show(cylinder);
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: