万能百科  > 所属分类  > 

有以下类定义 classPoint{ public: Point(int x=0,int y=0){_x=x;_y=y;} void

有以下类定义 classPoint{ public: Point(int x=0,int y=0){_x=x;_y=y;} void Move (int xOff,int yOff {_x +=xOff;_y+yOff} void Print() const {cout<<'('<<_x<<','<<_y<<')'<<endl;} private: int_x_y; }; 下列语句中会发生编译错误的是

A.Pointpt;pt;Print();

B.const Point pt;pt.Print();

C.Pointpt;pt.Move(1,2);

D.const Point pt;pt.Move(1,2);

正确答案:

D解析:本题考核常对象、常数据成员与常成员函数。如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数,D选项中对象 pt为常对象,而成员函数Move()不是常成员函数,所以这样调用会发生编译错误。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签