类的私有数据成员的访问
类的私有数据成员智能在类体哪被访问,不能够在类体外通过对象名直接访问,考察下面的类
:
class point1
{
public:
point1();
virtual ~point1();
void setPoint(int X,int Y,int Z);
void display();
void copy(point1 m);
private:
int x,y,z;
{
public:
private:
};
point1::point1()
{
x=1;
y=2;
z=3;
}
{
}
point1::~point1()
{
{
}
void point1::setPoint(int X,int Y,int Z)
{
x=X;
y=Y;
z=Z;
}
void point1::display()
{
void point1::setPoint(int X,int Y,int Z)
{
}
void point1::display()
{
}
void
point1::copy(point1 m)
{
cout<<m.x<<endl;
{
}
主函数:
void main()
{
point1 mypoint;
mypoint.display();
mypoint.setPoint(98,99,100);
point1 another;
another.copy(mypoint);
{
}
执行结果:
123
98
2
98
2
下面进行一下总结:可以访问类中的私有数据成员的是:
1、类体的成员函数
2、类体的成员函数中的形参中的该类的对象、对象引用或者对象指针,以及函数体中定义的局部对象、对象引用或者对象指针。
3、类的友元函数中的形参中的该类的对象、对象引用或者对象指针,以及函数体中定义的局部对象、对象引用或者对象指针。
4、类的友元类的成员函数中形参中的该类的对象、对象引用或者对象指针,以及函数体中定义的局部对象、对象引用或者对象指针。