继承与派生1

来源:互联网 发布:如何开通淘宝客推广 编辑:程序博客网 时间:2024/05/19 04:04

设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度、面积和颜色等数据。其中,类Circle包含数据成员Radius和求面积的成员函数,类Table包含数据成员height和返回高度的成员函数,类Roundtable再添加数据成员color和相应的成员函数。

class Circle//圆类{public:Circle();//构造函数Circle(double r);void Area();//面积函数protected:double radius;//半径double area;//面积};Circle::Circle(){radius=0;area=0;}Circle::Circle(double r){radius=r;}void Circle::Area(){area=3.14*radius*radius;}class Table//桌子类{public:Table();//构造函数Table(double h);double getheight();//返回高度函数protected:double height;//高度};Table::Table(){height=0;}Table::Table(double h){height=h;}double Table::getheight(){return height;}class Roundtable:public Circle,public Table//圆桌类{public:Roundtable();//构造函数Roundtable(double r,double h,string c);void print();//输出private:string color;};Roundtable::Roundtable(){color="white";}Roundtable::Roundtable(double r,double h,string c):Circle(r),Table(h){color=c;};void Roundtable::print(){cout<<"The Roundtable`s data is :"<<endl;cout<<"radius="<<radius<<"  area="<<area<<endl;cout<<"height="<<height<<"  color="<<color<<endl;}运行结果:int main(){Roundtable r1;cout<<r1.getheight();r1.print();Roundtable r2(3,8,"red");r2.Area();r2.print();return 0;}



0 0
原创粉丝点击