首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class TestClass { public: TestClass(){cout
有如下程序: #include using namespace std; class TestClass { public: TestClass(){cout
admin
2012-12-29
72
问题
有如下程序:
#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全国计算机二级
相关试题推荐
若有以下程序#include<stdio.h>main(){intb=10,a=-11;a%=b%=4;printf("%d%d\n",a,b);}则程序的
有以下程序段:#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);程序运行后的输出结果是()。
C源程序中不能表示的数制是()。
下列程序的运行结果是()。#include<stdio.h>voidfun(int*s,int*p){staticintt=3;*p=s[t];t--;}voidmain()
C语言编译程序的功能是()。
下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABCDEFGHIJK。请改正程序中的错误,使它能得出
随机试题
某高血压患者,70岁。发生广泛前壁急性心肌梗死3小时入院。检查结果提示不能应用溶栓治疗的是
将参加社会活动的108个学生平均分成若干小组,每组人数在8人到30人之间,则共有()种不同的分法。
简述商事账簿的种类及其效力。(西北政法大学2006年考研真题)
(2005年)折杆受力如图5—63所示,以下结论中错误的为()。
排出管有室外排水管连接处的检查井,井中心距建筑物外墙不小于()m。
高压成套装置是指由一个或多个高压开关设备和相关的()等设备组成的组合体。
唐朝继续实行三省六部制,隋朝的内史省在唐朝改名为()。
为节约用水,某市决定用水收费实行超额超收,标准用水量以内每吨2.5元,超过标准的部分加倍收费。某用户某月用水15吨,交水费62.5元,若该用户下个月用水12吨,则应交水费多少钱?
设,E为3阶单位矩阵。求方程组Ax=0的一个基础解系;
Susan:I’msogladtoseeyou,David.【K1】______hasbeensuchalongtime.Howareyou?David:I’mfine,andyou?Susan:I’mjus
最新回复
(
0
)