2014-11-03 84 views
-2

我是完全新手,當我嘗試使用類ex前的代碼時感到非常沮喪。我有這樣的代碼如何在C++類中輸入變量?

#include <iostream> 

using namespace std; 

class MyFunction { 
int a, b, x, y; 
public: 
void setVar (int one, int two, int three, int four) { 
    a = one; 
    b = two; 
    x = three; 
    y = four; 
} 
int result() { 
    return (a-b)*(x-y); 
} 
}; 

int main() { 
int one; 
int two; 
int three; 
int four; 
MyFunction equal; 
equal.setVar(one, two, three, four); 
cout << "Your number here "<< endl; 
cin >> one >> two >> three >> four; 
cout << "Your result is " << equal.result() << endl; 

return 0; 
} 

我要讓基於變量(數字)I輸入輸出的程序。每次運行它,它都會爲零。任何人都可以幫助我糾正我在代碼中做了什麼錯誤?

謝謝。

+2

'equal.setVar(一,二,三,四);'這將一,二,三,四的當前值存入班級。當main中的這些變量用來自cin的新值更新時,MyFunction的成員不會更新。閱讀輸入後,應該放置這一行。 – 2014-11-03 11:01:53

+0

'MyFunction'對於一個班級來說不是個好名字...... – GingerPlusPlus 2014-11-03 12:48:35

回答

1

在獲取用戶輸入並以適當的值填充變量之前,請致電equal.setVar(one, two, three, four);。試試這個:

cout << "Your number here "<< endl; 
cin >> one >> two >> three >> four; 
equal.setVar(one, two, three, four); 
cout << "Your result is " << equal.result() << endl; 

並且給你聲明的變量賦予初始值是一個好習慣。或者,無論編譯器認爲合適,它們都將包含值。

0

你應該叫cin >> one >> two >> three >> four;在調用equal.setVar(一,二,三,四)之前;