日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[YTU]_2922(Shape系列-8)

發布時間:2025/4/16 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [YTU]_2922(Shape系列-8) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

小聰又想借用小強的Shape類了,但是不巧的是小強去考英語四級去了,但是小聰自力更生創建了Point類,但是他沒有寫Point類、繼承Point類的Circle類、繼承Circle類的Cylinder類這3個類的構造函數,請你幫忙補充這幾個類未完成的函數。 小聰寫的各種類 #include <iostream.h>
#define PI 3.14159
class Point
{
public:
? Point(float=0,float=0);
? void setPoint(float,float);
? float getX()const ;
? float getY()const ;
? friend ostream & operator<<(ostream &,const Point &);
protected:
? float x,y;
};
class Circle:public Point
{
public:
? Circle(float x=0,float y=0,float r=0);
? void setRadius(float);
? float getRadius() const;
? float area () const;
? friend ostream &operator<<(ostream &,const Circle &);
?protected:
? float radius;
};
class Cylinder:public Circle
{
public:
? Cylinder (float x=0,float y=0,float r=0,float h=0);
? void setHeight(float);
? float getHeight() const;
? float area() const;
? float volume() const;
? friend ostream& operator<<(ostream&,const Cylinder&);
?protected:
? float height;
};
//小聰用于測試的函數 int main()
{
?Cylinder cy1(3.5,6.4,5.2,10);
?cy1.setHeight(15);
?cy1.setRadius(7.5);
?cy1.setPoint(5,5);
?cout<<"new cylinder:\n"<<cy1;
?Point &pRef=cy1;
?cout<<"pRef as a point:"<<pRef;
?Circle &cRef=cy1;
?cout<<"cRef as a Circle:"<<cRef;
?return 0;
}
提示:不用提交全部程序,只提交補充部分。

Input

Output

輸出小聰測試的各個數據

Sample Output

new cylinder: Center=[5,5], r=7.5, h=15 area=1060.29, volume=2650.72 pRef as a point:[5,5] cRef as a Circle:Center=[5,5], r=7.5, area=176.714#include <iostream> using namespace std; #define PI 3.14159 class Point { public:Point(float=0,float=0);void setPoint(float,float);float getX()const ;float getY()const ;friend ostream & operator<<(ostream &,const Point &); protected:float x,y; }; class Circle:public Point { public:Circle(float x=0,float y=0,float r=0);void setRadius(float);float getRadius() const;float area () const;friend ostream &operator<<(ostream &,const Circle &);protected:float radius; }; class Cylinder:public Circle { public:Cylinder (float x=0,float y=0,float r=0,float h=0);void setHeight(float);float getHeight() const;float area() const;float volume() const;friend ostream& operator<<(ostream&,const Cylinder&);protected:float height; };Point::Point(float a,float b){x=a;y=b;} float Point::getX()const {return x;} float Point::getY() const {return y;} void Point::setPoint(float xx,float yy) {x=xx;y=yy;} ostream &operator<<(ostream &cout,const Point &p) {cout<<"["<<p.x<<','<<p.y<<']'<<endl;return cout;} Circle::Circle(float x,float y,float r):Point(x,y),radius(r){} void Circle::setRadius(float rr) {radius=rr;} float Circle::getRadius() const {return radius;} float Circle::area() const {return PI*radius*radius;} ostream& operator<<(ostream&cout,const Circle &c) {cout<<"Center=["<<c.x<<','<<c.y<<"], r="<<c.radius<<", area="<<c.area()<<endl;return cout;} Cylinder::Cylinder(float x,float y,float r,float h):Circle(x,y,r),height(h){} void Cylinder::setHeight(float h) {height=h;} float Cylinder::getHeight()const {return height;} float Cylinder::area()const {return PI*radius*radius;} float Cylinder::volume()const {return PI*radius*radius*getHeight();}ostream & operator<<(ostream &cout,const Cylinder& c){cout<<"Center=["<<c.getX()<<","<<c.getY()<<"], "<<"r="<<c.getRadius()<<", "<<"h="<<c.getHeight()<<endl<<"area="<<2*PI*c.radius*c.getHeight()+2*PI*c.radius*c.radius<<", volume="<<PI*c.radius*c.radius*c.getHeight()<<endl;return cout;} int main() {Cylinder cy1(3.5,6.4,5.2,10);cy1.setHeight(15);cy1.setRadius(7.5);cy1.setPoint(5,5);cout<<"new cylinder:\n"<<cy1;Point &pRef=cy1;cout<<"pRef as a point:"<<pRef;Circle &cRef=cy1;cout<<"cRef as a Circle:"<<cRef;return 0; }

總結

以上是生活随笔為你收集整理的[YTU]_2922(Shape系列-8)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。