欢迎来到天天文库
浏览记录
ID:55336919
大小:162.00 KB
页数:61页
时间:2020-05-10
《面向对象程序设计离线作业答案.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、浙江大学远程教育学院《面向对象程序设计》课程作业答案第2章【2.3】测试下面的注释(它在C++风格的单行注释中套入了类似于C的注释)是否有效。//thisisastrange/*waytodoacomment*/答:有效【2.4】以下这个简短的C++程序不可能编译通过,为什么?#includeusingnamespacestd;intmain(){inta,b,c;cout<<"Entertwonumbers:";cin>>a>>b;c=sum(a,b);cout<<"sumis:"<2、;return0;}sum(inta,intb){returna+b;}答:不能sum使用前必须声明【2.5】回答问题。(1)以下两个函数原型是否等价:floatfun(inta,floatb,char*c);floatfun(int,float,char*);等价(2)以下两个函数的第一行是否等价:floatfun(inta,floatb,char*c);floatfun(int,float,char*);答:等价【2.6】下列语句中错误的是(D)。A.int*p=newint(10);B.int*p=n3、ewint[10];C.int*p=newint;D.int*p=newint[40](0);【2.7】假设已经有定义“constchar*constname="chen";”下面的语句中正确的是(D)。A.name[3]='a';B.name="lin";C.name=newchar[5];D.cout<4、;D.name=newchar('q');【2.9】假设已经有定义“constchar*name="chen";”下面的语句中错误的是(A)。A.name[3]='q';B.name="lin";C.name=newchar[5];D.name=newchar('q');【2.10】重载函数在调用时选择的依据中,(B)是错误的。A.函数名字B.函数的返回类型C.参数个数D.参数的类型【2.11】在(A)情况下适宜采用内联函数。A.函数代码小,频繁调用B.函数代码多,频繁调用C.函数体含有递归语句D.函数体含有5、循环语句【2.12】下列描述中,(C)是错误的。A.内联函数主要解决程序的运行效率问题B.内联函数的定义必须出现在内联函数第一次被调用之前C.内联函数中可以包括各种语句D.对内联函数不可以进行异常接口声明【2.13】在C++中,关于下列设置默认参数值的描述中,(B)是正确的。A.不允许设置默认参数值B.在指定了默认值的参数右边,不能出现没有指定默认值的参数C.只能在函数的定义性声明中指定参数的默认值D.设置默认参数值时,必须全部都设置【2.14】下面的类型声明中正确是(D)。A.int&a[4];B.int&6、*p;C.int&&q;D.inti,*p=&i;【2.15】下面有关重载函数的说法中正确的是(C)。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同【2.16】关于new运算符的下列描述中,(D)是错误的。A,它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值【2.17】关于delete运算符的下列描述中,(C)是错误的。A.7、它必须用于new返回的指针B.使用它删除对象时要调用析构函数C.对一个指针可以使用多次该运算符D.指针名前只有一对方括号符号,不管所删除数组的维数【2.18】写出下列程序的运行结果。#includeusingnamespacestd;inti=15;intmain(){inti;i=100;::i=i+1;cout<<::i<usingnamespacestd;voidf(int8、&m,intn){inttemp;temp=m;m=n;n=temp;}intmain(){inta=5,b=10;f(a,b);cout<usingnamespacestd;int&f(int&i){i+=10;returni;}intmain(){intk=0;i
2、;return0;}sum(inta,intb){returna+b;}答:不能sum使用前必须声明【2.5】回答问题。(1)以下两个函数原型是否等价:floatfun(inta,floatb,char*c);floatfun(int,float,char*);等价(2)以下两个函数的第一行是否等价:floatfun(inta,floatb,char*c);floatfun(int,float,char*);答:等价【2.6】下列语句中错误的是(D)。A.int*p=newint(10);B.int*p=n
3、ewint[10];C.int*p=newint;D.int*p=newint[40](0);【2.7】假设已经有定义“constchar*constname="chen";”下面的语句中正确的是(D)。A.name[3]='a';B.name="lin";C.name=newchar[5];D.cout<4、;D.name=newchar('q');【2.9】假设已经有定义“constchar*name="chen";”下面的语句中错误的是(A)。A.name[3]='q';B.name="lin";C.name=newchar[5];D.name=newchar('q');【2.10】重载函数在调用时选择的依据中,(B)是错误的。A.函数名字B.函数的返回类型C.参数个数D.参数的类型【2.11】在(A)情况下适宜采用内联函数。A.函数代码小,频繁调用B.函数代码多,频繁调用C.函数体含有递归语句D.函数体含有5、循环语句【2.12】下列描述中,(C)是错误的。A.内联函数主要解决程序的运行效率问题B.内联函数的定义必须出现在内联函数第一次被调用之前C.内联函数中可以包括各种语句D.对内联函数不可以进行异常接口声明【2.13】在C++中,关于下列设置默认参数值的描述中,(B)是正确的。A.不允许设置默认参数值B.在指定了默认值的参数右边,不能出现没有指定默认值的参数C.只能在函数的定义性声明中指定参数的默认值D.设置默认参数值时,必须全部都设置【2.14】下面的类型声明中正确是(D)。A.int&a[4];B.int&6、*p;C.int&&q;D.inti,*p=&i;【2.15】下面有关重载函数的说法中正确的是(C)。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同【2.16】关于new运算符的下列描述中,(D)是错误的。A,它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值【2.17】关于delete运算符的下列描述中,(C)是错误的。A.7、它必须用于new返回的指针B.使用它删除对象时要调用析构函数C.对一个指针可以使用多次该运算符D.指针名前只有一对方括号符号,不管所删除数组的维数【2.18】写出下列程序的运行结果。#includeusingnamespacestd;inti=15;intmain(){inti;i=100;::i=i+1;cout<<::i<usingnamespacestd;voidf(int8、&m,intn){inttemp;temp=m;m=n;n=temp;}intmain(){inta=5,b=10;f(a,b);cout<usingnamespacestd;int&f(int&i){i+=10;returni;}intmain(){intk=0;i
4、;D.name=newchar('q');【2.9】假设已经有定义“constchar*name="chen";”下面的语句中错误的是(A)。A.name[3]='q';B.name="lin";C.name=newchar[5];D.name=newchar('q');【2.10】重载函数在调用时选择的依据中,(B)是错误的。A.函数名字B.函数的返回类型C.参数个数D.参数的类型【2.11】在(A)情况下适宜采用内联函数。A.函数代码小,频繁调用B.函数代码多,频繁调用C.函数体含有递归语句D.函数体含有
5、循环语句【2.12】下列描述中,(C)是错误的。A.内联函数主要解决程序的运行效率问题B.内联函数的定义必须出现在内联函数第一次被调用之前C.内联函数中可以包括各种语句D.对内联函数不可以进行异常接口声明【2.13】在C++中,关于下列设置默认参数值的描述中,(B)是正确的。A.不允许设置默认参数值B.在指定了默认值的参数右边,不能出现没有指定默认值的参数C.只能在函数的定义性声明中指定参数的默认值D.设置默认参数值时,必须全部都设置【2.14】下面的类型声明中正确是(D)。A.int&a[4];B.int&
6、*p;C.int&&q;D.inti,*p=&i;【2.15】下面有关重载函数的说法中正确的是(C)。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同【2.16】关于new运算符的下列描述中,(D)是错误的。A,它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值【2.17】关于delete运算符的下列描述中,(C)是错误的。A.
7、它必须用于new返回的指针B.使用它删除对象时要调用析构函数C.对一个指针可以使用多次该运算符D.指针名前只有一对方括号符号,不管所删除数组的维数【2.18】写出下列程序的运行结果。#includeusingnamespacestd;inti=15;intmain(){inti;i=100;::i=i+1;cout<<::i<usingnamespacestd;voidf(int
8、&m,intn){inttemp;temp=m;m=n;n=temp;}intmain(){inta=5,b=10;f(a,b);cout<usingnamespacestd;int&f(int&i){i+=10;returni;}intmain(){intk=0;i
此文档下载收益归作者所有