知识点:
1、对象指针就是指向对象的指针
定义: Sample *MyPointer;
对象成员可以通过指向对象的指针来引用,
引用数据成员的具体形式如下:
1)指向对象的指针->数据成员名 2)(*指向对象的指针).数据成员名
引用函数成员的具体形式如下:
1)指向对象的指针->函数成员名(实参表) 2)(*指向对象的指针)->函数成员名(实参表)
2、指向类成员的指针
定义:int A::*p = &A::x; // 指针p指向类A的数据成员x
3、指向成员函数的指针
定义:int (data::*pfun)(int, int) ;
pfun = &data::SetData;
data MyA;
调用:(MyA.*pfun)(100, 100)
4、this指针
1)类的每一个成员函数都有一个隐含的常量指针,称为this指针,this指针的类型就是成员函数所属类的类型。当调用成员函数时,它被初始化为被调用函数的对象的地址。
eg:
class Sample
{
int a, b;
public:
void display(void)
{
cout << a << b << endl; // 等价于 cout << this->a << this->b << endl;或 cout << (*this).a << (*this).b << endl;
}
2)this指针是一个const指针,不能在程序中修改它,而且this指针的作用域仅在一个对象的内部