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

来源:百度知道 编辑:UC知道 时间:2024/09/22 09:34:12
第一个源程序:
#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()
{

个人认为第一个方法比较好,因为你用了临时变量NewA和NewB,大型程序里面能直接修改数据成员的地方很少,而且不安全(向你的第二个就直接复制给A和B),合理的使用临时变量是个很好的习惯

第二个。简洁