首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude <iostream> using namespace std; class Sample { friend long fun (Sample s); public: S
有如下程序: #inc1ude <iostream> using namespace std; class Sample { friend long fun (Sample s); public: S
admin
2020-04-07
50
问题
有如下程序:
#inc1ude <iostream>
using namespace std;
class Sample
{
friend long fun (Sample s);
public:
Sample (long a){x=a;}
pnvate:
long x;
};
long fun (Sample s)
{
if (s.x<2) retum l:
return s.x*fun(Sample(s.x一l)):
}
int main()
{
int sum=0;
for(int i=0; k6; 1++) {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,l,2,6,24,120,累加结果为154。
转载请注明原文地址:https://kaotiyun.com/show/my8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于类模板,下列表述不正确的是
请按下面注释的提示,将类B的构造函数定义补充完整。classA{inta;public:A{intaa=0)(a=aa;}}
面向对象程序设计思想的主要特征中不包括
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#includeusingnamespacestd;classA{public:A(){cout
下列叙述中正确的是
数据库管理系统常见的数据模型有层次模型、网状模型和_____3种。
对以下说明语句的正确理解是inta[10]={6,7,8,9,10};
以下程序中,错误的行为①#include<iostream.h>②classA③{④public:⑤intn=2;⑥A(intval){cout<<val<<end1;}
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGJetLen(char*str){if(【】)return0;elsereturn1+GetLen(st
设一棵完全二叉树共有839个结点,则在该二叉树中有【 】个叶子结点。
随机试题
男性工人,50岁。周期性发热3个月就诊。体检:发现多组浅表淋巴结肿大,质坚,无压痛。化验:Hb120g/L,WBC5.2×109/L,PLT210×109/L。颈部淋巴结活检,找到里一斯细胞,确诊为霍奇金淋巴瘤。体检时下列哪个体征最少出现
A.拇指端B.食指端C.中指端D.无名指端E.小指端
承担法律责任的原则不包括()。
连续型变量的变量值需要用()方法获得。
对于已达到预定可使用状态但尚未办理竣工决算的固定资产,待办理竣工决算后,若实际成本与原暂估价值存在差异的,应调整已计提的折旧。()
日耳曼人征服西罗马帝国具有深远的历史意义。
下列关于服务器技术的描述中,错误的是()。
下列与队列结构有关联的是
以下能正确定义数据类型Systemlnfo的代码是()。
Readthearticlebelowaboutserviceproductionandthequestionsontheoppositepage.Foreachquestion(13-18),markonelette
最新回复
(
0
)