在这个程序中,我有些困惑指针的使用:
#include<iostream.h>
class ABC
{
public:
int data;
void getdata()
{
cout<<"Enter data: ";
cin>>data;
cout<<"The number entered is: "<<data;
}
};
void main()
{
ABC obj;
int *p;
obj.data = 4;
p = &obj.data;
cout<<*p;
ABC *q;
q = &obj.data;
q->getdata();
}
我理解到的是直到以下步骤我明白:
ABC *q;
它是什么意思?我的书上说这是一个类类型指针(语法可怜且含糊),但这是什么意思?一个指向 ABC 类地址的指针吗?
如果是这样的话,那么接下来的步骤让我感到困惑。
q = &obj.data;
我们正在将此指针指向 data 的位置,该位置是一个变量。然后,
ABC *q;
如何适合其中呢?最后一步又是什么呢?
q->getdata();
做了什么?我的书说这是“指向成员函数操作符”,但没有解释。非常感谢您的帮助!
q = &obj.data
等同于q = &obj
? - this