作者ntueestudent (bluesky)
看板EE_DSnP
標題Re: [問題] 關於add()函數
時間Tue Oct 23 22:04:25 2007
※ 引述《ntueestudent (bluesky)》之銘言:
: 雖然知道該怎麼做能用class裡的object來呼叫變數
: 但是由於一開始constructor將變數定義成零
: 所以呼叫出來的變數就是零
: 該怎麼做才能將在readValue內cin的值傳到add()裡?
class DoubleInt
{
public:
DoubleInt()
{
a=0;
b=0;
}
void readValue(unsigned int a ,unsigned int b)
{
cin>>a;
cin>>b;
//2^32= 4294967296
}
void add(DoubleInt dint)
{
cin>>a>>b;
c=a+a;
d=b+b;
cout<<c<<d;
}
private:
unsigned int a;
unsigned int b;
unsigned int c;
unsigned int d;
};
int main()
{
unsigned int a1;
unsigned int b1;
DoubleInt read1;
DoubleInt read2;
read1.readValue(a1,b1);
read2.readValue(a1,b1);
read1.add(read2);
system("pause");
return 0;
}
若是add裡沒有cin,出來的數值就一直是零......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.237.149
1F:推 ilway25:add 裡 c 要等於 a + dint的a 10/23 22:13
2F:推 ric2k1:readValue() 裏頭不要宣告 (int a, int b) 10/23 22:19
3F:→ ric2k1:會蓋掉 class 裏的 data member 10/23 22:19
4F:推 ric2k1:你這樣寫 cin 只會存到 local 的 a, b 上 10/23 22:20
5F:→ ric2k1:不會存到 data member 的 a, b 上... 10/23 22:20
6F:→ ric2k1:local 的變數 (a, b) 在跳出 function() 就失效了. 10/23 22:21
7F:推 ntueestudent:感謝~~ 10/23 22:25