问个C++中给类的数据成员赋值的问题,2种方式,差别在哪里呢?? 20

第一个源程序:#include<iostream>usingnamespacestd;classTest{private:inta,b;public:voidAdd();... 第一个源程序:
#include<iostream>
using namespace std;

class Test
{
private:
int a,b;
public:
void Add();
void GetData(int NewA,int NewB);//差别在此处!!!
};

void Test::Add()
{
cout<<"a+b="<<a+b<<endl;
}

void Test::GetData(int NewA,int NewB)
{
cin>>NewA>>NewB;
a=NewA;
b=NewB;
}

void main()
{
int x,y;
Test t1;
t1.GetData(x,y);
t1.Add();
}
这个里面,是通过给NewA,和NewB赋值,然后在把NewA,和NewB的值分别赋值给a,b。

第二个源程序:
#include<iostream>
using namespace std;

class Test
{
private:
int a,b;
public:
void GetData();//差别在此处!!!
void Add();
};
void Test::GetData()
{
cin>>a>>b;
}
void Test::Add()
{
cout<<"a+b="<<a+b<<endl;
}

void main()
{
Test t1;
t1.GetData();
t1.Add();
}
这个是直接输入数据成员a,b的值,然后来运算的。

请问下,这2个方法,哪个更好呢???
或者,还有更好的赋值方式?
谢谢了哈
展开
 我来答
滑稽上阵l
2009-06-30 · TA获得超过259个赞
知道答主
回答量:93
采纳率:0%
帮助的人:67.2万
展开全部
个人认为第一个方法比较好,因为你用了临时变量NewA和NewB,大型程序里面能直接修改数据成员的地方很少,而且不安全(向你的第二个就直接复制给A和B),合理的使用临时变量是个很好的习惯
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b7d2b2f
2009-06-30 · TA获得超过901个赞
知道小有建树答主
回答量:994
采纳率:50%
帮助的人:583万
展开全部
第二个。简洁
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式