首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Sample { friend long fun(Sample s); public: Sampl
有如下程序: #include <iostream> using namespace std; class Sample { friend long fun(Sample s); public: Sampl
admin
2017-10-17
49
问题
有如下程序: #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 stun = 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。主函数中通过一个for循环依次以临时构造的Sample类对象为参数,调用fun函数,构造参数依次为0~5。如果一个函数在其函数体内直接或间接地调用了自己,该函数就称为递归函数。本题中的fun()函数直接调用了自身,所以它又是递归函数,不难分析其递归性质如下:
因为Sample类的构造函数只是简单的将构造参数a赋给成员x,故可省略不看。通过上述递归定义不难看出,n取0~5时,fun(n)的值依次为:1,1,2,6,24,120。累加之后结果为154,故本题应该选择C。
转载请注明原文地址:https://www.kaotiyun.com/show/HPAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序 main( ) {int n[5]={0,0,0},i, k=2; for(i=0 i<k i++)n[i]=n[i]+1; cout<<n[k]<<end1;
类内部定义的______和______数据不能被不属于该类的成员函数来存取,定义为______的数据,可以在类外部进行存取。
栈通常采用的两种存储结构是()
下列关于数据库系统的叙述中,正确的是()。
若要想进行标准输入输出则头文件必须包含______件。
若有一个MyClass类,则执行语句“MyClassobj1,obj2[2],*p;”后,自动调用该类的构造函数()次。
()既可重载为一元运算符,又可重载为二元运算符。
下列运算符中全都可以被友元函数重载的是()
()是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
下列对派生类的描述中,()是错误的
随机试题
应交税费中的“税费”一般主要包括______、______、______、______、______。
设D是第一象限中由曲线y=x2,x+y一2=0和y=0所围成的区域,则二重积分=______.
HaveyoueverhadtodecidewhethertogoshoppingorstayhomeandwatchTVonaweekend?Nowyou【C1】______dobothatthesam
滴虫性阴道炎病人的治愈标准是( )。
男性,48岁,2年前曾患乙型肝炎,近3个月血清丙氨酸氨基转移酶(ALT)反复波动100U/L左右。因发热3天伴右上腹隐痛入院,体温38.5℃。血白细胞计数11.2×109/L、中性80%ALTl190U/L。体检:皮肤、巩膜无黄染,颈部数个蜘蛛痣,肝肋下2
碘量法分为直接碘量法和间接碘量法。()
根据《担保法》的规定,可以有资格成为保证人的是()。
企业所得税的纳税义务人有()。
下列关于法起源的一般规律,错误的是()。
InformationIsPowerInsuchachanging,complexsocietyformerlysimplesolutionstoinformationalneedsbecomecomplicated
最新回复
(
0
)