首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class TestClass { public: TestClass(){cout
有如下程序: #include using namespace std; class TestClass { public: TestClass(){cout
admin
2012-12-29
70
问题
有如下程序:
#include
using namespace std;
class TestClass
{
public:
TestClass(){cout<<“default constructorkn”;}
TestClass(const TestClass&x){cout<<“copy constructor\n”;}
};
TestClass userCode(TestClass b){TestClass c(b);return c;}
int main()
{
TestClass a,d;
cout<<“calling userCode()\n”;
d=userCode(a);
return 0:
}
在执行过程中,构造函数TestClass()和TestClass(constTestClass &x)被调用的次数分别是( )。
选项
A、1和1
B、1和2
C、2和3
D、2和4
答案
C
解析
在主函数中定义了两个TestClass类型的变量a,d,因此执行两次构造函数TestClass ()。接下来执行d=userCode(a);,在执行该函数时,由于userCode采用了传值方式来传递参数,所以要调用一次TestClass(const TestClass &x)。在函数userCode内部TestClass c(b);语句又调用了一次拷贝构造函数,由于函数userCode返回的不是引用,而是一个TestClass变量,所以还需要执行一次拷贝构造函数,所以一共要执行两次普通构造函数(非拷贝构造函数)与三次拷贝构造函数。
转载请注明原文地址:https://kaotiyun.com/show/MuVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:main(){intn=0;do{n++;printf(’’%d\n’’,n);}while(n<=3);}程序的输出结果是()。
若有以下程序#include<stdio.h>main(){intb=10,a=-11;a%=b%=4;printf("%d%d\n",a,b);}则程序的
有以下程序#include<stdio.h>main(){inty===9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是()。
C源程序中不能表示的数制是()。
有以下程序:#include<stdio.h>main(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;ca
下列程序的运行结果是()。#include<stdio.h>voidfun(int*s,int*p){staticintt=3;*p=s[t];t--;}voidmain()
随机试题
胸腔积液呈绿色应考虑:()
下列各项中属于法定孳息的是()。
一男性患者,左上腹痛2天,向左肩背部放射。伴恶心、呕吐胃内容物,呕吐后疼痛不缓解,既往有胆囊结石病史。查体:体温39℃,脉搏120次/分,呼吸20次/分,血压100/60mmHg,巩膜黄染,上腹胀,腹膜炎体征(+),移动浊音(-),肠音减弱。血常规WBC
A.梅核气B.瘿瘤C.发颐D.痰核E.乳癖
根据《药品管理法》第七十五条规定,从事生产、销售假药及生产、销售劣药情节严重的企业或者其他单位,其直接负责的主管人员和其他直接责任人员十年内不得从事药品生产、经营活动,这种行政处罚的种类属于()。
防止放射性物质经呼吸道进入体内的基本措施包括()。
防火阀应单独吊装,从防火墙至防火阀的风道应采用厚度为()以上的钢板制作。
企业债券的承销方式有()
建设中国特色社会主义的首要的基本理论问题,是要搞清楚
最新回复
(
0
)