首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include using namespace std; class TestClass { public: TestClass(int n){number=n;} //拷贝构造函数
有以下程序: #include using namespace std; class TestClass { public: TestClass(int n){number=n;} //拷贝构造函数
admin
2020-10-21
31
问题
有以下程序:
#include
using namespace std;
class TestClass
{
public:
TestClass(int n){number=n;}
//拷贝构造函数
TestClass(TestClass&other){number=other.number;)
~TestClass(){}
private:
int number;
};
TestClass fun(TestClass p)
{
TestClass temp(p);
return temp;
}
int main()
{
TestClass obj 1(10),obj2(0);
TestClass obj3(obj 1);
obj2=fun(obj3);
return 0:
}
程序执行时,TestClass类的构造函数被调用的次数是( )。
选项
A、2
B、3
C、4
D、5
答案
C
解析
objl(10)执行一次构造函数,0bj2(O)也执行一次构造函数;obi3(0bjl)以obil作为参数执行一次构造函数;fun(obj3)中的temp(p)将执行一次构造函数,而fun本身是以按值传递参数,形参在fun函数内也要分配独立的空间,所以也要执行一次构造函数,其返回结果也是TestClass类型的,同样需要执行一次构造函数,所以一共要执行4次。
转载请注明原文地址:https://jikaoti.com/ti/oLl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classBag{public:Bag(intp=200,chars=’M’):price(P),size(s){eout
如果表达式v*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为()。
下列关于线性表的叙述中,不正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:TestClass2TestClass3注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:Maxis7提示:max()函数实现找出两个数中的最大值,并作为函数值返回。注意:错误的语句在//******err
在C++语言中函数返回值的类型是由()决定的。
一个教师讲授多门课程,一门课程由多个教师讲授。则实体教师和课程间的联系是()。
下列选项中,不属于C++关键字的是()。
下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的“<<left”,输出效果将发生变化的是
在数据库中,产生数据不一致的根本原因是
随机试题
以下上颌支“扳机点”不包括()
下列各项不属于附骨疽手术适应证的是()
肝郁化火多见食积内热多见
我国“十一五”规划的中期评估报告需要提交()审议。
在合同管理中,作为项目负责人的建造师执业需在规范的合同文本上签章的有()。
经济全球化的实质是()。
总分类账户和明细分类账户的关系是()。
设二维随机变量(X,Y)在矩形区域D={(χ,y):0≤χ≤2,0≤y≤1}上服从二维均匀分布,随机变量(Ⅰ)求U和V的联合概率分布;(Ⅱ)讨论U和V的相关性与独立性.
Awomanwithatwinbrotherhasfewerchildren.Twinbrotherscanleavequiteanimpression.Themerepresenceofaboyinthes
Java语言是以()为程序的基本单位。
最新回复
(
0
)