首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
18
问题
有如下程序: #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://kaotiyun.com/show/HPAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【 】。#include<iostream.h>classMyClass{public:intnumber;voidset(inti);};intnumber=3;voidMyClass:
下列叙述中正确的是
已知doublevar;是文件F1.CPP中的一个全局变量定义,若文件F2.CPP中的某个函数也需要访问,则在文件F2.CPP中var应说明为______。
已知类Sample中的一个成员函数说明如下:voidSet(Sample&a);其中,Sample&a的含意是()。
下列有关运算符重载的叙述中,正确的是()。
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是,
程序设计分为面向过程程序设计和面向对象程序设计,具有继承性特点的程序设计称为【 】程序设计。
下列选项中合法的用户标识符是()。
随机试题
下列关于鼓励交易原则在合同法上的体现,表述不正确的是()
该患者进一步确诊的首选辅助性检查项目是患者行鞍区肿瘤切除术后第3天,出现意识障碍,经CT复查,未发现颅内血肿及脑积水考虑下一步治疗措施时,下列哪项是错误的
A.命门、安肾B.百会、后海C.阳明、滴明D.肛脱、后海E.胸膛、通关治疗牛腰胯痛、尿闭宜选
急性心肌梗死时心电图检查最具特征性的改变为
FIDIC分包合同的履行管理中,正确的是( )。
关于冬期桩基施工的说法,正确的有()。
(凡要求计算的题目,除题中特别加以标明的以外,均需列出计算过程;计算结果出现小数的,除题中特别要求以外,均保留小数点后两位小数;计算结果有单位的,必须予以标明。凡要求说明理由的内容,必须有相应的文字阐述。)某企业计划进行某项投资活动,拟有甲、乙两个方案。
甲国有资本控股公司拟将所持有的部分国有产权转让乙公司。根据企业国有产权转让管理法律制度的规定,下列有关该国所有产权转让价款的表述中,正确的是()。
某企业于2002年11月接受一项产品安装任务,采用完工百分比法确认劳务收入,预计安装期14个月,合同总收入200万元,合同预计总成本为158万元。至2003年底已预收款项160万元,余款在安装完成时收回,至2003年12月31日实际发生成本152万元,预计
特别任务法常用于()。
最新回复
(
0
)