首页 > 试题广场 >

有下列类定义 #include using...

[不定项选择题]
有下列类定义
#include<iostream>
using namespace std;
class Point {
public:
    Point(int a=3,int b=5){ X=a;Y=b;}
    int GetX(){return X;}
    int GetY(){return Y;}
private:
    int  X,Y;
};
现有语句Point *p=new Point[2];则与(*p).GetX()等效的表达式是(      )?
  • Point[0]. GetX()
  • p[0].GetX()
  • p->GetX()
  • GetX()
Point *p=new Point[2]指的是Point类型的指针指向开辟在堆区的三个对象,p[0]表示第一个对象调用GetX(),A我不知道什么意思,第四个应该是无具体指向可能出现二义性吧,纯新手,对这道题不太理解,错了和其他更好的解释请告诉我,感谢
发表于 2021-09-18 21:05:14 回复(0)
注意Point不是数组名,别错选了A
发表于 2019-08-19 19:42:47 回复(4)
p->GetX()
p[0].GetX()
(*p).GetX()
发表于 2020-01-28 12:00:24 回复(1)

->主要用于类类型的指针访问类的成员

.主要用于类类型的对象访问类的成员


发表于 2020-03-20 16:50:23 回复(0)
p[0]就是*p 就是p所指向的内存中的值 &p是p这个指针本身的地址,&p的类型是int** &p[0]就是p[0]的地址,也就是p (&p)[0],就是*(&p),也是p *p,就是前面说的p[0]
发表于 2022-05-29 11:41:57 回复(0)
多选为不定项,人傻了
发表于 2021-10-21 17:24:02 回复(0)
一个指针为什么能用->
发表于 2019-11-30 08:33:07 回复(2)

point是个类型

发表于 2019-11-04 22:42:14 回复(0)