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

admin2013-02-27  32

问题 有如下程序:    #include<iostream>    using namespace std;    Class TestClass    {    private:    int x,y;    public:    TestClass(int i,int j)    {    x=i;    y=j;    }    Void print()    {    cout<<"print1"<<endl;    }    void print()const    {    cout<<"print2"<<endl;    }    };    int main()    {    const TestClass a(1,2);    a.print();    return 0;    }    该程序运行后的输出结果是(  )。

选项 A、print1
B、print2
C、print1 print2
D、程序编译时出错

答案B

解析 由主函数main入手,定义TestClass型的常对象a,然后调用对象a中的成员函数print()。因为在C++中,如果一个对象被声明为常对象,则不能调用该对象中的非const型的成员函数。所以,这里调用的是对象中的const型成员函数“void print()const”,输出为print2。
转载请注明原文地址:https://kaotiyun.com/show/OpVp777K
0

最新回复(0)