打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
第一题
​第 1 题
【要求】编写程序,定义一个形状 Shape 基类,包括整型的数据成员
x、y 来表示位置,定义带参数的构造函数可以初始化数据成员 x、y,
再由此定义出派生类:矩形类 Rect 和圆类 Circle,Rect 类增加宽和高
width、high 两个数据成员,Circle 类增加半径 radius,分别定义两个
派生类的构造函数,可以初始化各自的数据成员(包括基类数据成员),
最后用主函数测试。
【分析】基类 Shape 中,整型的数据成员 x、y,带两个参数的构造函
数,显示信息的 show()成员函数。
派生类 Circle 中增加整型数据成员 radius,三个参数的构造函数,
显示信息的 show()成员函数。
派生类 Rect 中增加整型数据成员 width、high,四个参数的构造
函数,显示信息的 show()成员函数。
主函数中对这三个类生成对象,分别进行测试。
【源代码】
#include <iostream>
using namespace std;
class Shape
{ int x,y;
public:
Shape(int ix,int iy)
{ x = ix;
y = iy;
}
void show()
{ cout<<"pos: "<<x<<' '<<y<<endl;
}
};
class Circle:public Shape
{ int radius;
public:
Circle(int ix,int iy,int r):Shape(ix,iy)
{ radius=r;
}
void show()
{ Shape::show ();
cout<<"circle: "<<radius<<endl;
}
};
class Rect:public Shape
{ int width,high;
public:
Rect(int ix,int iy,int iw,int ih):Shape(ix,iy)
{ width=iw;
high=ih;
}
void show()
{ Shape::show();
cout<<"width and high: "<<width<<' '<<high<<endl;
}
};
int main()
{ Shape s(1,1);
Circle c(3,3,9);
Rect r(2,2,8,8);
s.show();
c.show();
r.show ();
return 0;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
c++ 深入理解虚函数
C++ 继承
KineticJS教程
一篇文章带你了解SVG <use> 元素
Java中抽象类和接口的区别
C#绘制等值线(源码)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服