成员函数
定义在class内的函数,成为该类的成员函数。(成员函数、成员变量,统称为类的成员)
class Object
{
public:
int x;
int y;
void Test()
{
cout<<"hello,world!"<<endl;
}
};
成员函数的访问:使用 . 或->
Object obj;
obj,Test();//点号访问
Object *p=&obj;
p->Test();//箭头访问
this指针
在Test()函数中,将x,y打印出来要怎么做?
class Object
{
public:
int x;
int y;
void Test(Object *that)
{
cout<<that->x<<endl<<that->y<<endl;
}
};
Object obj;
int mian()
{
Object obj;
obj.x=10;
obj.y=20;
obj.Test(&obj);
}
但在类中不需要这么麻烦了
class Object
{
public:
int x;
int y;
void Test()
{
cout<<x<<endl<<y<<endl;
}
};
Object obj;
int mian()
{
Object obj;
obj.x=10;
obj.y=20;
obj.Test();
}
这两种写法完全一样,this指针隐藏在函数里面。这使得我们写起来更加方便、简洁。this指针不受public和private的限制,可以任意的调用成员(当然包括变量和函数)。