单选题 有以下类定义
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()不是常成员函数,所以这样调用会发生编译错误。