定义函数:int & fun() { ...... },该函数返回值的类型是()。
A.int
B.int &
C.bool
D.语法错误
A.int
B.int &
C.bool
D.语法错误
第4题
B.fun函数的参数可以是任意的数据类型
C.fun函数有1个整型参数
D.fun函数无返回值
第5题
(1)利用define定义常量TRUE为1,定义常量FALSE为0,请在注释1后添加适当的语句。
(2)在类A2前增加A1的声明,请在注释2后添加适当的语句。
(3)在类Cl中声明友元函数boolrune(A2&a,A1&b),请在注释3后添加适当的语句。
(4)实现函数boolfunc(A2&obj1,Al&obj2)的功能,检查两个类的值都为TRUE,则返回TRUE,请在注释4后添加适当的语句。 注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序: include(iostream.h> //********1******** defineFALSE0 //********2******** classA2 { private: boolm_A2; friendboolfunc(A2&objl,A1&obj2); public: A2 { m_A2=FALSE。 } public:
voidsetA2(booln) { m_A2=n; } };
elaSSA1 { private: boolm_A1; //********3*********
public: A1 { m_A1=TRUE; }
public: voidsetAl(booln) { m_A1=n; } }; boolfunc(A2&objl,A1&obj2) { //********4******** return }
intmain { A20bj0; A10bj1; cout<
第6题
有以下程序:
classDate
{
public:
Date(inty,intm,intd);
{
year=Y:
month=m;
day=d;
}
Date(inty=2000)
{
year=y;
month=10;
day=1;
}
Date(Date&d)
{
year=d.year;
month=d.month;
day=d.day;
}
voidprint( )
{
cout<<year<<"."<(month<<"."<<day<<endl;
}
private:
intyear,month,day;
};
Datefun(Dated)
{
Datetemp;
temp=d;
returntemp;
}
intmain( )
{
Datedatel(2000,1,1),date2(0,0,0);
Datedate3(datel);
date2=fun(date3);
return0;
}
程序执行时,Date类的拷贝构造函数被调用的次数是( )。
A.2
B.3
C.4
D.5
【我提交的答案】: C |
【参考答案与解析】: 正确答案:B |
B。【解析】本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第1次是在执行语句Datedate3(date1)时,用已经建立的对象date1对正在建立的对象date3进行初始化;第2次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第3次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了拷贝构造函数。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!