关于C++中的Friend问题?请赐教!
本人自学C++,Friend友员函数能对Class中的Private私有数据成员访问。但我在编程中发现友员函数改变了私有数据成员的值后,但私有数据成员中还是保持原来的值。具体请看下面的程序:
#include <iostream.h>
class Cc
{
private:
int data;
friend int ChangeData(Cc c1);
public:
Cc()
{data=0;
}
void ShowData()
{
cout<<data<<endl;
}
};
int ChangeData(Cc c1)
{
c1.data=10;
return c1.data;
}
void main()
{
int i,j;
Cc c2;
i=ChangeData(c2);
c2.ShowData();
cout<<i<<endl;
}
屏幕输出的结果是:
0
10
为什么会输出以上的结果:请赐教!