有以下类定义 class Point{ public: Point{int x = 0, int y=0) {_x = x; _y = y;} void Move int xoff, int yoff) {_x

admin2010-12-16  25

问题 有以下类定义    class  Point{    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<<’)’ << end1;}    private:      int_x,_y;    };  下列语句中会发生编译错误的是

选项 A、Point pt;pt.Print();
B、const Point pt;pt.Print();
C、Point pt;pt.Move(1, 2);
D、const Point pt;pt.Move(1, 2)

答案D

解析 本题考核常对象、常数据成员与常成员函数。如果将二个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数,D选项中对象pt为常对象,而成员函数Move()不是常成员函数,所以这样调用会发生编译错误。
转载请注明原文地址:https://jikaoti.com/ti/psW0FFFM
0

随机试题
最新回复(0)