我对C ++并不熟悉,目前正在尝试编写一个类'fraction'。我想编写一个方法'输入',用户为一个分数赋值。这些值应该在整个程序中可用。这就是我到目前为止所做的:
呼叫:
BRUCH t1;
t1.Eingabe();
方法:
BRUCH BRUCH::Eingabe()
{
int _z, _n;
BRUCH bruch;
cout << "Bitte einen Zaehlerwert eingeben: " << endl;
cin >> _z;
cout << "Bitte einen Nennerwert eingeben: " << endl;
cin >> _n;
while(_n==0)
{
cout << "Bitte einen gültigen Wert eingeben!" << endl;
cin >> _n;
}
bruch.z = _z;
bruch.n = _n;
return bruch;
}
当我返回对象时,值消失,构造函数创建一个具有默认值的新对象。
我该怎样做才能获得正确的回报?
布鲁赫 - 分数(数学)| Eingabe - 输入
答案 0 :(得分:1)
看起来你没有将新值分配给任何东西
BRUCH t1;
BRUCH new_value = t1.Eingabe();
答案 1 :(得分:1)
我解决了这个问题。
我将return bruch;
更改为return *this;
并删除了&#39; bruch&#39; OBJ。从代码。现在分配z = _z, n = _n;
。这将返回我正在使用的当前对象。
很抱歉给您带来不便。