浙江大学远程教育2015面向对象程序设计离线作业(2)

2019-09-01 13:53

调用是传值调用。

【2.20】 分析下面程序的输出结果。

#include using namespace std; int &f(int &i) { i+=10; return i; } int main() { int k=0; int &m=f(k); cout<

答:运行结果是 10 20

因为函数f参数是变量的引用,对它的调用是传地址调用,函数f调用后,k的值变为10,而m是对函数f的引用,m被赋值20,k的值也变为20. 【2.21】 举例说明可以使用const替代#define以消除#define的不安全性。 答:例如:

#include #define A 1+2 #define B A*4 void main()

{ cout<

上面程序的运行结果是9而不是12,但很容易被认为是12。

如果用const替代#define就能得到正确结果,从而消除了#define的不安全性。

#include const A=1+2; const B=A*4; void main()

{ cout<

运行结果为12。

【2.22】 编写一个C++风格的程序,用动态分配空间的方法计算Fibonacci 数

列的前20项,并存储到动态分配的空间中。

答:

#include int main() {

int *p=new int[20]; *p=1; *(p+1)=1;

cout<<*p<<\ p=p+2;

for(int i=3;i<=20;i++) {

*p=*(p-1)+*(p-2); cout<<*p<<\ if(i%5==0)cout<

return 0; }

【2.23】 编写一个C++风格的程序,建立一个被称为sroot()的函数,返回其参

数的二次方根。重载sroot()3次,让它返回整数、长整数与双精度数的二次方根(计算二次方根时,可以使用标准库函数sqrt())。

答:

#include #include double sroot(int a) { return sqrt(a); }

double sroot(long b) {return sqrt(b); }

double sroot(double c) {return sqrt(c); }


浙江大学远程教育2015面向对象程序设计离线作业(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:九年级第二学期第一次月考物理试题(北师大版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: