在 C++ 中,我们知道对于类的指针,我们使用 ( ->
) 箭头运算符来访问该类的成员,如下所示:
#include <iostream>
using namespace std;
class myclass{
private:
int a,b;
public:
void setdata(int i,int j){
a=i;
b=j;
}
};
int main() {
myclass *p;
p = new myclass;
p->setdata(5,6);
return 0;
}
然后我创建一个数组myclass
。
p=new myclass[10];
当我通过 ( ) 箭头运算符访问myclass
成员时->
,出现以下错误:
base operand of '->' has non-pointer type 'myclass'
但是当我通过 ( .
) 运算符访问班级成员时,它可以工作。这些事情让我很困惑。为什么我必须对.
类数组使用 () 运算符?