如何将对象C1设置为输入半径
How do I set object C1 to the input radius?
我制作了一个名为C1和C2的Circle对象。
默认情况下,我使用构造函数将半径设置为0,然后创建一个半径为5的对象C2。
我想输入一个半径,并将C1的半径作为用户输入我可以得到输入,但不确定如何将C1的默认值从0删除到用户输入,所以我的问题是,我该怎么做?我的代码如下
inputRadius=0;因为它会在尝试调用函数时给我一个错误。这消除了那个错误。我主要关心的是获得半径c1的输入来代替默认的0
MAIN:
double inputRadius = 0; Circle C1(0); Circle C2(5); getRadius(inputRadius); Circle C1(inputRadius);
我的头文件如下。
#include <iostream>
using namespace std;
double getRadius(double inputRadius) {
cout << "Input the radius for the circle C1 ";
cin >> inputRadius;
return inputRadius; }
class Circle {
public:
Circle(double r)
{
setRadius(r);
}
void setRadius(double r)
{
radius = r;
}
double radius; };
如果更容易的话,我制作了代码的puu.sh链接http://puu.sh/5HC0v.png和http://puu.sh/5HC2o.png
首先,您的函数getRadius
很奇怪,您使用它的方式不对。这很奇怪,因为它接受了一些参数,但对它什么都不做。你用错了它,因为它returns
什么东西,而你忽略了它。
有一条线:
getRadius(inputRadius)
从控制台读取半径,但它不将其存储在变量中。"inputRadius"是该函数的输入参数。它从函数的外部到内部,而不是相反。(尽管有了指针和引用,你可以有一个双向参数。但你的参数只是一个"双",所以它是单向的。)
将该功能调整为:
double getRadius()
{
cout << "Input the radius for the circle C1 ";
double inputRadius; // added, because after removing the parameter
// you need some variable at hand to be able to
// read from cin
cin >> inputRadius; // rest is just like you've had it
return inputRadius;
}
然后调用它并实际存储结果:
double newValueOfRadius;
newValueOfRadius = getRadius();
现在,有了一个从控制台读取的半径为的变量,您可以使用它来创建一个新对象:
Circle C1( newValueOfRadius );
或者,您可以设置现有对象的半径
C2.setRadius( newValueOfRadius );
当对象已经cred时,您必须使用set
函数来更改半径,因为您不能像在这里那样对已经存在的对象调用构造函数:
//THIS IS WRONG
Circle C1(0);
Circle C1(inputRadius);
代码应该看起来像
class Circle
{
public:
Circle(double r)
{
radius = r;
}
void setRadius(double r)
{
radius = r;
}
private:
double radius;
};
void main()
{
Circle C1(0);
double r = 0;
cin >> r;
C1.setRadius(r);
}
相关文章:
- 为什么不能通过在错误输入后设置 std::cin.clear() 来使用 std::cin?
- 如何设置默认参数以防用户不输入另一个参数
- 我如何处理有关输入的字符串大小超过字符数组设置大小的错误?
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 如何使用Chrono或ctime libaray输入设置的开始和结束时间
- 如何在QT中为QInputDialog输入密码时设置背景非活动和灰色?
- 将函数更改为具有设置函数输入变量的方法的类
- 如何为用户设置仅输入 4 位代码的限制?
- GoogleMock:如何根据另一个输入参数设置ArgReferee?
- 无法在顶点着色器中设置输入的位置
- 将 TXT 文件设置为输出和和输入
- 如何初始化可以设置为默认数组并将输入/输出作为数组的类函数?
- 如何为输入设置变量编号和__android_log_print格式
- 如何在应用程序进行大量printf时,在固定输入的终端中设置最后一行
- 是否可以保证输入<Type>实数时复杂对象的虚部设置为零?
- 设置输入(CIN)的超时
- 设置Qlabel的输入蒙版
- 如何根据用户输入设置矢量的类型
- 如何对用户输入设置时间限制
- 如何仅对用户输入设置统一变量