首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class TestClass { public: TestClass(){cout
有如下程序: #include using namespace std; class TestClass { public: TestClass(){cout
admin
2012-12-29
47
问题
有如下程序:
#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);}则程序的
运行下面的程序,输入字符串“MicrosoftVisua1Studio”,则程序的执行结果是()。#inc1udemain(){charChr[20];scanf("%s",&Chr);p
有以下程序段:#include<stdio.h>inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,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()
随机试题
德育是思想教育、政治教育、法纪教育和道德教育的总和,不是政治教育的代名词。()
眶下间隙感染最常见的病灶牙是
A.羚羊角B.天麻C.蒺藜D.蜈蚣E.石决明既息风止痉,又攻毒散结的药物是()。
房产税的基本特点是()。
()属于传统人事管理的内容。
案例:一位学生写给音乐老师的信:“老师,请您看看我——一个十分平常的我,平常的相貌,平常的成绩,可是我真的很喜欢上音乐课。每当您走进音乐教室,站在音乐学得好
什么改变了女孩子的命运:给本文选择一个合适的标题:
下列各项中,符合城市维护建设税依据规定的有()。
(10)确定了标准体制和标准化管理体制,规定了制定标准的对象与原则以及实施标准的要求,明确了违法行为的法律责任和处罚办法。
为了解决不同计算机系统键盘定义的差异,Telnet采用了一种标准的键盘定义,这种技术称之为【 】技术。
最新回复
(
0
)