新手请教一个问题
以下是程序代码:
#include <iostream>
using namespace std;
class a
{
private:
int ii;
public:
a(int iv){ii=iv;}
a(){ii=12;}
void test(a& av)
{
ii=av.ii ;
cout<<ii<<endl;
}
};
int main()
{
a vaa(10);
a va;
va.test (vaa);
return 0;
}
上面代码在vs 2003下可以顺利编译通过。我想问一个问题:代码中的ii是一个私有变量,但是在test函数中,为什么av可以直接调用私有变量ii呢?
请执教,谢谢