首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
22
问题
有如下程序: #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://jikaoti.com/ti/SBt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出: main( ) {int n, k, float score, sum, ave;
关于常成员函数,下列说法中错误的是
C++定义了类库实现数据的输入和输出,______为根基类。
实现运行时的多态性要使用()。
结构化程序设计的一种基本方法是()。
有如下程序:#include<iostream>usingnamespacestd;classAA{public:virtualvoidf(){cout<<
对虚函数使用对象指针或引用调用,系统使用______联编;使用对象调用时,系统使用_____联编。
下列输出字符,A,的方法中,错误的是()
以下都是C++语言标识符的是()
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
随机试题
患者男,22岁。因发热、伴淋巴结无痛进行性肿大2个月入院。既往元输血史。入院后确诊为非霍奇金淋巴瘤。给予化疗和放疗治疗后,病情明显好转。3个月后又复发、高热、伴消化道出血。淋巴结、肝、脾大。化验全血细胞减少,周围血见到幼稚淋巴细胞,骨穿确诊为淋巴瘤合并淋巴
黄曲霉毒素B1,对动物是
下面关于大气污染物排放口的考核,说法错误的是()。
()负责保证商业银行建立并实施充分而有效的内部控制体系。
根据公司法律制度的规定,下列各项中,属于董事会职权的是()。(2015年)
3XX代表的是()的国道公路。
“九品中正制”始于()。
在时间判断方面,下列感觉通道的精确性从高到低依次是
下列关于计算机的叙述中,不正确的一项是
A.TheHospitalitySectorJ.RestaurantServiceB.IntroductiontoReceptionK.
最新回复
(
0
)