首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
55
问题
有如下程序:
#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++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
C++中,派生类继承了基类的全部数据成员和除【】之外的全部函数成员。
下面程序要实现的功能是打开当前目录下的文件abc,并向其追加一串字符“Howareyou!”,然后再关闭该文件,请将程序填写完整。#include<fstream.h>voidmain(){【】
一个()允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
从键盘的输入中,读入一个值并赋值给x的语句是______。
执行语句序列intx=10,&r=X;cout<<x<<’-’,<<r<<endl;输出结果为【】。
已知类A有公用数据成员a,并重载了=运算符,且有A obj2;const A * ptr= new A;则下列语句错误的是
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是()。
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
下面c++标识符中正确的是()。
随机试题
可用于凝块稳定性试验的是
A.硝酸银试液B.氯化钡试液C.硫代乙酰胺试液D.硫化钠试液E.硫氰酸盐试液药物中铁盐检查
关于简易程序的说法,下列选项正确的是哪一项?()。
甲与保姆乙约定:甲生前由乙照料,死后遗产全部归乙。乙一直细心照料甲。后甲女儿丙回国,与乙一起照料甲,半年后甲去世。丙认为自己是第一顺序继承人,且尽了义务,主张甲、乙约定无效。下列哪一表述是正确的?(2012年卷三第24题)
生活垃圾填埋场场址的选择应避开下列()区域。
衡量价格水平变动的指标不包括()。
何谓品质机动幅度和品质公差?在买卖合同中约定品质机动幅度和品质公差的意义何在?
以下情形中需要联合一家无关联保荐机构共同保荐的有()。Ⅰ.保荐机构持有发行人8%的股份Ⅱ.保荐机构的实际控制人持有发行人8%的股份Ⅲ.保荐机构的重要关联方持有发行人8%的股份Ⅳ.发行人持有保荐机构8%的股份
下列交易或事项中,属于经营活动现金流量的是()。
A、Atsupper-time.B、BeforeJanewenttobed.C、Aroundeleven.D、Aftermidnight.CWhattimedidJane’sneighborsgoontotheroof
最新回复
(
0
)