首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Sample { friend long fun(Sample s); public: Sa
有如下程序: #include<iostream> using namespace std; class Sample { friend long fun(Sample s); public: Sa
admin
2020-04-07
76
问题
有如下程序:
#include<iostream>
using namespace std;
class Sample
{
friend long fun(Sample s);
public:
Sample(long a){x=a;}
private:
long x;
};
long fun(Sample s)
{
if(s.x<2) return 1:
return s.x*fun(Sample(s.x-1)):
}
int main()
{
int sum=0;
for(int i=0;i<6;i++){sum+=fun(Sample(i));}
cout<<sum;
return 0;
}
运行时输出的结果是( )。
选项
A、120
B、16
C、154
D、34
答案
C
解析
此题考查的是友元函数和递归函数。因为fun函数是Sample类的友元函数,所以fun函数可以直接访问Sample类对象的私有成员x。主函数调用fun函数,构造参数为0~5。当n小于2时,fun函数返回1,其余返回值为n*fun(n-1)。n取0~5的值时fun(n)依次为1,1,2,6,24,120,累加结果为154。
转载请注明原文地址:https://kaotiyun.com/show/hV8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
通过使用new和delete两个运算符进行的分配为______存储分配。
在数据库系统中,用户所见的数据模式为
有如下程序:#inClude<iostream>usingnamespacestd;classAA{public:viltualvoidf(){cout<<"AA";
对类的构造函数和析构函数描述正确的是
重载输入流运算符“>>”必须使用的原型为()。
A、 B、 C、 D、 A因为成员函数可以在类体内定义,也可以在类体外定义,所以成员函数不一定都是内联函数;成员函数可以重载,可以设置参数的默认值,成员函数可以是静态的。
在E-R图中,用来表示实体联系的图形是( )。
随机试题
有头疽最常见的并发症是
治疗的主要责任者是
下列关于商业汇票的表述中,符合法律规定的有()。
Onedayamansawanoldladystandingbyherexpensivecar,clearlyinneedofhelp.Sohestoppedhisoldtruckandgotout.A
刑诉法素有“小宪法”之称,它跟每位“民的()息息相关,是与公民宪法基本权利关系最密切的一部法律。
屈原受到我国人民崇敬并每年纪念他,最主要是因为()。
数据链路层、网络层、传输层分别对应的网络连接设备是______。
管理信息系统的概念结构是指管理信息系统是各职能子系统的一个联合体。每个子系统包含执行控制、【】及战略计划等三个信息处理部分。
Accordingtothepassage,thetaskofeducationisfairlycomplicatedbecause______.Itcanbeinferredfromthepassagethat
Hewas________________________.(被老师抓到正在作弊)
最新回复
(
0
)