有以下類(lèi)定義 classPoint{ public: Point(int x=0,int y=0){_x=x;_y=y;} void
有以下類(lèi)定義 classPoint{ public: Point(int x=0,int y=0){_x=x;_y=y(tǒng);} void Move (int xOff,int yOff {_x +=xOff;_y+yOff} void Print() const {cout<<'('<<_x<<','<<_y<<')'<<endl;} private: int_x_y; }; 下列語(yǔ)句中會(huì)發(fā)生編譯錯(cuò)誤的是
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解析:本題考核常對(duì)象、常數(shù)據(jù)成員與常成員函數(shù)。如果將一個(gè)對(duì)象說(shuō)明為常對(duì)象,則通過(guò)該常對(duì)象只能調(diào)用它的常成員函數(shù),不能調(diào)用其他的成員函數(shù),D選項(xiàng)中對(duì)象 pt為常對(duì)象,而成員函數(shù)Move()不是常成員函數(shù),所以這樣調(diào)用會(huì)發(fā)生編譯錯(cuò)誤。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。