Point類結構說明:
Point類的資料成員包括:
①私有資料成員:X坐標x(double型),Y坐標y(double型)。
Point類成員函式包括:
①有參建構式Point(double, double)和拷貝建構式Point(const Point &),其中有參建構式引數默認值為0,輸出資訊“Point Constructor run”,拷貝建構式輸出資訊“Point CopyConstructor run”
②解構式,解構式輸出資訊“Point Destructor run”
③公有函式成員:void setX(double)和double getX() const分別回傳和設定X坐標
④公有函式成員:void setY(double)和double getY() const分別回傳和設定Y坐標
⑤公有成員函式void show() const用于顯示點的坐標資訊,顯示格式為:(x,y)
⑥公有成員函式double area() const用于計算點的面積,點的面積為0
Circle類結構說明:
公有派生圓類Circle以點類Point為基類,相較于點類Point,Circle類的結構說明如下:
Circle類的資料成員包括:
①私有資料成員:X坐標x繼承自Point類,Y坐標y繼承自Point類。
②靜態資料常量PI(double型),其值為3.14159
③私有資料成員:半徑radius(double型)。
Circle類成員函式包括:
①定義有參建構式①定義有參建構式Circle(double, double, double)和拷貝建構式Circle(Circle &),其中有參建構式引數包括圓心坐標和半徑,圓心呼叫Point類建構式進行構造,各引數默認值為0,輸出資訊“Circle Constructor run”,拷貝建構式輸出資訊“Circle CopyConstructor run”
②定義解構式,解構式輸出資訊“Circle Destructor run”
③定義公有函式成員:void setRadius(double)和double getRadius() const分別回傳和設定radius
④定義公有成員函式double circumference() const用于計算圓的周長
⑤多載double area() const用于計算圓的面積
⑥多載void show() const用于顯示圓的資訊,顯示格式為:
(圓心X坐標,圓心Y坐標),Radius=半徑
裁判測驗程式樣例:
#include <iostream>
using namespace std;
class Point{
protected:
double x;
double y;
public:
Point(double xv=0,double yv=0);//有參構造
Point(const Point &p); //拷貝構造
~Point(); //解構式
void show() const; //顯示Point資訊
double area()const; //面積=0
void setX(double xv); //設定X坐標
void setY(double yv); //設定Y坐標
double getX() const; //獲取X坐標
double getY() const; //獲取Y坐標
};
//有參構造
Point::Point(double xv,double yv){
x=xv;
y=yv;
cout<<"Point Constructor run"<<endl;
}
//拷貝構造
Point::Point(const Point &p){
x=p.x;
y=p.y;
cout<<"Point CopyConstructor run"<<endl;
}
//解構式
Point::~Point(){
cout<<"Point Destructor run"<<endl;
}
//顯示Point
void Point::show() const{
cout<<"("<<x<<","<<y<<")";
}
//設定X坐標
void Point::setX(double xv){
x=xv;
}
//設定Y坐標
void Point::setY(double yv){
y=yv;
}
//面積函式
double Point::area() const{
return 0;
}
//獲取X坐標
double Point::getX() const{
return x;
}
//獲取Y坐標
double Point::getY() const{
return y;
}
/*請在這里填寫答案*/
int main(void){
double r;
cin>>r;
Circle c1(1,2,4),c2,c3(c1);
c1.show();
cout<<endl<<"Area="<<c1.area()<<endl<<"Circumference="<<c1.circumference()<<endl;
c2.show();
cout<<endl<<"Area="<<c2.area()<<endl<<"Circumference="<<c2.circumference()<<endl;
c3.setRadius(r);
c3.show();
cout<<endl<<"Area="<<c3.area()<<endl<<"Circumference="<<c3.circumference()<<endl;
return 0;
}
輸入樣例:
6.0
輸出樣例:
Point Constructor run
Circle Constructor run
Point Constructor run
Circle Constructor run
Point CopyConstructor run
Circle CopyConstructor run
(1,2),Radius=4
Area=50.2654
Circumference=25.1327
(0,0),Radius=0
Area=0
Circumference=0
(1,2),Radius=6
Area=113.097
Circumference=37.6991
Circle Destructor run
Point Destructor run
Circle Destructor run
Point Destructor run
Circle Destructor run
Point Destructor run
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/271002.html
標籤:C++ 語言
上一篇:如何實作外部程式對系統服務的控制
