2017-06-05 72 views
0

我對C++並不熟悉,目前正在嘗試編寫一個類「分數」。我想編寫一個方法'輸入',其中用戶給一個分數的值。這些值應該在整個程序中可用。這是我到目前爲止有:向主程序返回對象類

電話:

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; 
} 

當我返回值消失的對象和構造函數使用默認值的新對象。

我必須做什麼才能獲得正確的回報?

Bruch - Fraction(math。)| Eingabe - 輸入

回答

1

我解決了這個問題。

我將return bruch;更改爲return *this;並刪除了'bruch'obj。來自代碼。作業現在是z = _z, n = _n;。這將返回我正在使用的當前對象。

不便之處,敬請原諒。

+1

它返回當前對象的_a副本,而不是實際的對象。 –

+0

按價值致電 - 您是對的先生。 –

1

它看起來並不像你曾經分配的新值,以什麼

BRUCH t1; 
BRUCH new_value = t1.Eingabe();