首页 > 试题广场 >

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

[单选题]
以下程序的运行结果是()
#include<iostream>
using namespace std;
class R
{
public:
    R(int r1,int r2)
    {
        R1=r1;
        R2=r2;
    }
    void print()
    void print() const;
private:
    int R1,R2;
};
void R::print()
{
    cout<<R2<<","<<R1<<endl;
}
void R::print() const
{
    cout<<R1<<","<<R2<<endl;
}
int main()
{
    R a(6,8);
    const R b(56,88);
    b.print();
    return 0;
}
  • 6,8
  • 56,88
  • 88,56
  • 8,6
推荐
  说明:本题中,b为类R的常对象,通过b只能调用类R的常成员函数print,输出56,88。
发表于 2018-05-05 21:19:41 回复(0)
a与b两个对象调用不冲突的吧?这题有什么意义
发表于 2019-01-02 14:21:04 回复(0)
void print() const  
考点:
(1)有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),只能读取数据成员,不能改变数据成员;没有 const 修饰的成员函数,对数据成员则是可读可写的。


(2)常量(即 const)对象可以调用 const 成员函数,而不能调用非const修饰的函数。

综上: const R b(56,88)  ,是常对象,只能调用const修饰的常成员函数,即调用
voidR::print() const{
 cout<<R1<<","<<R2<<endl;
}
 输出 56,88  选B



发表于 2019-03-19 13:10:00 回复(0)
声明一个对象时用const修饰符表示这是一个常量对象,这种对象只能调用它的const成员函数.const成员函数通过在该成员函数的参数列表后面添加const修饰符来实现,const成员函数不允许修改类的private数据成员,const成员函数既可以被const对象调用也可以被非const对象调用,但反过来const对象只能调用const成员函数.
发表于 2018-06-01 17:22:44 回复(2)
本题计算不调用常函数也是输出56,88吧?毕竟a,b是两个对象,总不可能互相影响。所以这个题目考什么?
发表于 2018-08-26 11:28:33 回复(2)
常对象只能调用类的常成员函数
发表于 2022-03-06 14:25:14 回复(0)
常对象只能调用常成员
发表于 2018-06-22 11:40:42 回复(0)
看我半天的***题
发表于 2023-11-13 21:46:18 回复(0)
常对象只能调用类的常成员函数
发表于 2022-11-11 00:24:04 回复(0)
常对象只能调用常函数!
const修饰过的标识符带有的是Read-Only属性。
发表于 2021-08-19 10:19:26 回复(0)
这里只有b对象要输出,所以只输出b对应的输入时的实参,而前面两个定义的,并没有执行打印输出,可以这么理解不?
发表于 2020-11-03 09:06:28 回复(0)
构造函数不是const类型,但是const对象也是可以调用的
发表于 2020-07-05 16:53:37 回复(0)
这题是不是想考,const 成员怎么调用构造函数啊,不然没啥意义
发表于 2020-03-29 21:28:53 回复(0)

Const成员函数既可以被正常对象调用,也可以被常对象调用,而常对象只能调用常成员函数

发表于 2019-06-24 16:42:52 回复(0)
const 的print函数都没有定义
发表于 2018-05-27 10:59:05 回复(0)
看不懂 cons函数定义没看到啊
发表于 2018-05-13 22:34:58 回复(0)