回 帖 发 新 帖 刷新版面

主题:[讨论]c++ 一个类的成员函数调用问题!

楼主
详细代码见下面网站中,方便随时编辑!谢谢!
http://codepad.org/q0Ion0Ko

class point
{
private:
  int x,y;
public:
 point(int m = 0,int n = 0):x(m),y(n){}
 int get_x() const {return x;}
 int get_y() const {return y;}
};
int main()
{
 point *p;
 p = new point;
 //cout << *p.get_x() << endl;//为什么不可以这样?
 //cout << *p.get_y() << endl;
 cout << p->get_x() << endl;
 cout << p->get_y() << endl;
 delete p;
 return 0;
}

为什么p->可以而 *p. 不可以!求教。。。

回复列表 (共2个回复)

沙发

因为p是一个指针,必须用"->",只用实例采用"."

板凳

p->x相当于(*p).x,注意要有括号。

我来回复

您尚未登录,请登录后再回复。点此登录或注册