有如下程序: #include <iostream> using namespace std; class sample { private: int x, y; public: sample(i

admin2010-03-29  40

问题 有如下程序:    #include <iostream>    using namespace std;    class sample    {    private:       int x, y;    public:       sample(int i,int j)       {          x=i;          y=j;       }       void disp()       {          cout<<"displ"<<end1;       }       void disp()  const       {          cout<<"disp2"<<end1;       }    };    int main ()    {       const sample a(i,2);       a.disp ();       return 0;    }    该程序运行后的输出结果是(    )。

选项 A、disp1
B、disp2
C、disp1 disp2
D、程序编译时出错

答案2

解析 C++中,在定义常对象时必须进行初始化,而且不能被更新。如果将一个对象说明为常对象,则通过该对象只能调用它的常成员函数。题中,对象a被定义成类sample的常对象,所以通过对象a只能调用其常成员函数disp()。所以程序最后输出disp2。
转载请注明原文地址:https://kaotiyun.com/show/J3jp777K
0

最新回复(0)