定义基类point(点)和派生类circle(圆),求圆的周长。point类有两个私有的数据成员float x,y;circle类新增一个私有的数据成员半径float r和一个公有的求周长的函数getcircumference();主函数已经给出,请编写point和circle类。
时间: 2023-05-31 16:18:12 浏览: 228
### 回答1:
点类point的定义:
class point{
private:
float x,y;
public:
point(float a=,float b=):x(a),y(b){}
float getx(){return x;}
float gety(){return y;}
};
圆类circle的定义:
class circle:public point{
private:
float r;
public:
circle(float a=,float b=,float c=):point(a,b),r(c){}
float getr(){return r;}
float getcircumference(){return 2*3.14*r;}
};
在主函数中可以这样使用:
int main(){
circle c(1,2,3);
cout<<"圆的周长为:"<<c.getcircumference()<<endl;
return ;
}
### 回答2:
定义基类Point(点)和派生类Circle(圆),求圆的周长。Point类有两个私有的数据成员float x,y;Circle类新增一个私有的数据成员半径float r和一个公有的求周长的函数getcircumference();
Point类:
class Point{
private:
float x;
float y;
public:
Point(){}//默认构造函数
Point(float x,float y){
this->x=x;
this->y=y;
}
float getX(){
return x;
}
float getY(){
return y;
}
};
Circle类:
class Circle:public Point{
private:
float r;
public:
Circle(float x,float y,float r):Point(x,y){
this->r=r;
}
float getcircumference(){
return 2*3.14*r;//圆的周长公式
}
};
在主函数中,创建一个圆的对象,并调用getcircumference计算其周长,并输出结果:
int main(){
Circle c(1,2,3);//创建圆的对象,并初始化坐标和半径
float circumference=c.getcircumference();//调用求周长函数
cout<<"周长为:"<<circumference<<endl;
return 0;
}
从代码中可以看出:
1.基类Point有两个私有的数据成员float x,y;
2.派生类Circle具有基类Point的所有属性和方法,同时新增私有的数据成员半径float r和一个公有的求周长的函数getcircumference();
3.在构造函数中,使用“:”语法初始化x、y和r,使用this指针访问当前对象;
4.在调用getcircumference()方法时,需要创建Circle对象c,然后使用对象调用方法。
综上所述,通过定义基类和派生类,使用对象调用方法,可以方便地计算圆的周长。
### 回答3:
解答:
面向对象程序设计中,对象是指某个具体事物的实例,而类是对象的抽象表示。在本题中,基类point表示的是点,包含坐标x、y两个私有成员变量。而派生类circle则表示圆,除了继承了point类的坐标变量外,还新增了一个私有的半径变量r和一个公有的求周长函数getcircumference()。
在circle类中,我们需要实现getcircumference()函数来返回圆的周长。圆的周长计算公式为:2πr,其中r为圆的半径。因此,在circle类中我们需要实现一个返回半径r的函数,以便在getcircumference()函数中调用。具体实现如下:
```c++
class point {
private:
float x;
float y;
public:
point(float a, float b) {
x = a;
y = b;
}
float getx() {
return x;
}
float gety() {
return y;
}
};
class circle : public point {
private:
float r;
public:
circle(float a, float b, float c) : point(a, b) {
r = c;
}
float getr() {
return r;
}
float getcircumference() {
return 2 * 3.14 * r; //圆的周长公式
}
};
```
在main函数中我们可以先创建一个circle对象,并初始化坐标和半径,然后调用getcircumference()函数计算圆的周长,并输出结果。具体代码如下:
```c++
int main() {
circle c(0, 0, 5); //创建一个圆,坐标(0,0),半径5
float circumference = c.getcircumference(); //调用函数计算圆的周长
cout << "The circumference of the circle is: " << circumference << endl; //输出周长
return 0;
}
```
以上代码执行结果为:
The circumference of the circle is: 31.4
其中31.4即为半径为5的圆的周长的计算结果。
阅读全文