为什么计算不对const double PI = 3.14; class Round { public: int banjin; double zhouchang() { return 2 * PI* banjin; } }; int main() { Round c1; int banjing=10; cout << c1.zhouchang() << endl; }
时间: 2024-03-26 16:38:00 浏览: 62
在这段代码中,虽然定义了常量PI,但它并没有被使用。在成员函数zhouchang()中,使用的是一个未定义的PI变量,导致程序无法编译通过。为了解决这个问题,可以使用常量PI来计算圆的周长,如下所示:
```
const double PI = 3.14;
class Round {
public:
int banjin;
double zhouchang() {
return 2 * PI * banjin;
}
};
int main() {
Round c1;
c1.banjin = 10;
cout << c1.zhouchang() << endl;
return 0;
}
```
在这个修复后的代码中,我们在main函数中给圆的半径赋值,并且在成员函数zhouchang()中使用了常量PI来计算圆的周长,这样就可以正确地计算圆的周长了。
相关问题
用C++设计一个Circle类表示圆,用静态私有的成员变量r表示半径,常成员变量PI表示3.14,在主函数中创建半径为5的圆对象,并打印出圆周长和面积。
以下是Circle类的实现:
```c++
#include <iostream>
class Circle {
private:
static const double r; // 静态私有成员变量,表示半径
static const double PI; // 静态私有常成员变量,表示π
public:
// 计算圆的周长
static double circumference() {
return 2 * PI * r;
}
// 计算圆的面积
static double area() {
return PI * r * r;
}
};
const double Circle::r = 5; // 初始化半径为5
const double Circle::PI = 3.14; // 初始化π为3.14
int main() {
// 创建圆对象
Circle circle;
// 打印圆的周长和面积
std::cout << "圆的周长为:" << circle.circumference() << std::endl;
std::cout << "圆的面积为:" << circle.area() << std::endl;
return 0;
}
```
输出结果为:
```
圆的周长为:31.4
圆的面积为:78.5
```
下面的程序定义了一个Circle类,包含公有的int类型成员属性r,静态常量PI(其值为3.14)和公有的求面积的方法area。 请在程序的标号处(如:-----1-----)填写正确的代码,使程序能正确执行。 注意: 填入代码时,请
使用合适的语法并保证程序的正确性。
```c++
#include<iostream>
using namespace std;
class Circle{
public:
int r;
static const double PI;
double area(){
return PI*r*r;
}
};
const double Circle::PI=3.14;//-----1-----
int main(){
Circle c;
cin>>c.r;
cout<<c.area()<<endl;
return 0;
}
```
阅读全文