首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: class Date { public: Date(int y, int m, int d); year = y; month = m;
有以下程序: class Date { public: Date(int y, int m, int d); year = y; month = m;
admin
2009-02-15
61
问题
有以下程序: class Date { public: Date(int y, int m, int d); year = y; month = m; day = d; Date(int y = 2000) year = y; month = 10; day = 1; Date(Date &d) { year = d.year; month = d.month; day = a.day; } void print() cout<<year<<"."<<month<<"."<<day<<end1; } private: int year, month,day; }; Date fun(Date d) Date temp; temp = d; return temp; } int main() { Date date 1 (2000,1,1),date2(0,0,0); Date date3(date 1); date2 = fun(date3); return 0; } 程序执行时,Date 类的拷贝构造函数被调用的次数是
选项
A、2
B、3
C、4
D、5
答案
2
解析
本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第一次是在执行语句Date date3(date1);时,用已经建立的对象date1对正在建立的对象 date3进行初始化;第二次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第三次是在执行fun函数中的返回语句return temp;时,系统用返回初始化一个匿名对象时使用了拷贝构造函数。
转载请注明原文地址:https://kaotiyun.com/show/oOkp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列给定程序中,函数fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#inc
有如下程序#include<stdio.h>main(){char*p1=0;int*p2=0;double*p3=0;printf("%d,%d,%d\n",sizeof(p1),
有如下程序#include<stdio.h>#include<string.h>main(){printf("%d\n",strlen("0\n011\1"));}程序运行后的输出结果是
下列选项中,不属于数据管理员(DBA)职责的是()。
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#inc1udemain(){intx;scanf(”%d”,&x);if(x++>2)printf(”%d”,X);
下列关于return语句的叙述中,正确的是()。
下列说法正确的是()。
以下结构体类型说明和变量定义中正确的是()。
若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是()。
若变量都已正确说明,则以下程序段输出结果为()。#includemain(){chara=’a’;intb=2:printf(a>b?"***a=%d":"###b=%d",a,b);
随机试题
Howarabbitstudyandanex-studentboostmyhopesforafutureof‘loveanddignity’A)Atwhatevergradelevelteachersfind
下列关于病毒性心肌炎的叙述中,错误的是()
早期食管癌是指
不宜与甘草同用的药物是
龋病的易感因素不包括()。
下列关于法律、法规的立法事项,下列说法正确的是:
指数按其所反映的现象范围的不同,有()。
会计资料移交后,如果发现是移交人员会计工作期间内所发生的问题,由()负责。
乙承租甲的房屋,约定租赁期间为2019年1月1日至2022年12月31日。经甲同意,乙将该房屋转租给丙,租赁期间为2021年4月1日至2022年12月31日。根据合同法律制度的规定,下列表述中,正确的有()。
I______Mr.Greenlastweekandhadalongtalkwithhim.
最新回复
(
0
)