首页 > 试题广场 >

以下程序的运行结果是() #include using n

[单选题]
以下程序的运行结果是()
#include <iostream>
using namespace std;

class Sample{
public:
    Sample(int i, int j) {
        x = i;
        y = j;
    }
    void disp() {
        cout << "disp1" << endl;
    }
    void disp() const {
        cout << "disp2" << endl;
    }
private:
    int x, y;
};

int main(){
    const Sample a(1,2);
    a.disp();
    return 0;
}
  • disp1
  • disp2
  • disp1  disp2
  • 程序编译出错
说明:如果一个对象说明为常对象,则通过该对象只能调用它的常成员函数。题中,对象a被定义成类Sample的常对象,通过对象a只能调用其常成员函数disp,所以程序最后输出disp2。
编辑于 2021-12-27 14:40:18 回复(0)
更多回答
常对象只能调用常成员函数。
发表于 2018-10-13 16:46:35 回复(0)
1.常对象只能调用常成员函数
2.如果是非常量对象,也可以调用常成员函数,但是若有非常成员函数重载,则会调用非常成员函数
发表于 2020-06-13 15:34:33 回复(0)
常对象只能调用常成员函数
发表于 2022-03-11 19:55:58 回复(0)
常对象只能操作常成员函数
发表于 2020-03-14 14:27:07 回复(0)
“常对象”只能操作“常操作”
发表于 2023-11-23 09:02:53 回复(0)
常对象只能调用常成员函数
发表于 2023-09-04 22:28:07 回复(0)
常对象只能调用常成员
发表于 2023-03-19 22:40:13 回复(0)
噗 没看到const
发表于 2022-05-06 14:44:26 回复(0)
const Sample a(1,2);加上了const,被const限定,再用a去调用sample的成员函数时,只能调用它的常成员函数
发表于 2022-04-13 13:57:54 回复(0)
调用一致的函数
发表于 2019-12-01 22:43:32 回复(0)
常对象只能调用常成员函数
发表于 2019-07-12 11:00:22 回复(0)
常对象只能调用常成员函数。有点类似于无参构造有参构造吧,一一对应
发表于 2019-04-17 19:45:34 回复(0)