作者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