第3次作业
一、填空题(本大题共30分,共 10 小题,每小题 3 分)
1. 假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为______ .
2.
类型兼容原则指的是:任何在需要对象的地方,都可以用的对象去替代。
3.
只是在发生异常时,将异常抛出,本身并不处理异常,异常的处理交由调用者处理;而try、catch语句块则是在语句块中发现异常,在语句块中处理异常。
4.
如果一个类重载了操作符,由它创建的就是函数对象。
5.
重新抛出异常的表达式为: 。
6.
以下程序的执行结果是。
#include <iostream>
using namespace std;
class Base{
public:
Base(){cout<<”1”;}
~Base(){cout<<”2”;}
};
class Derived : public Base{
public:
Derived(){cout<<”3”;}
~Derived(){cout<<”4”;}
};
void main(){
Derived d;
}
7.
STL中算法大致分为四类,分别是、、、。
8.
以下程序的执行结果是。
#include <iostream>
using namespace std;
class A{
int x;
public:
A(int x){this->x=x;}
A &operator--(){x--;return *this;}
A operator--int){A a(x-=2);return a;}
void show(){ cout<< x;}
};
void main(){
A a(3),b(3);
(a--).show();
(--b).show();
}
9.
以下程序的执行结果是。
#include <iostream>
using namespace std;
class Base{
public:
virtual void fun1(){cout<<”1”;}
void fun2(){cout<<”2”;}
};
class Derived : public Base{
public:
void fun1(){cout<<”3”;}
void fun2(){cout<<”4”;}
};
void main(){
Base *p=new Derived();
p->fun1();
p->fun2();
}
10. .
#include class CSquare { int *arr; //arr 为矩阵首地址 int num; //表示行数与列数______ // CSquare(int *p, int n)
{
______ // num = n;
}
______ //
};
int CSquare::FindMax() const { int max; int i = 0;
int r, c, tmp;
max = arr[0];
for(; i < num ; i++)
{
r = arr[i*num + i] ; //
r为第i行对角线上的一个元素值______ // c为第i行另一个对角线上的一个元素值
if( r > c ) tmp = r;
else tmp = c;
if ( max < tmp) max = tmp;
}
return max;
}
void main() { static int a[5][5] =
{
{
20, -5, 21, 18, 156
},
{
3, -6, -8, 26, -3
},
{
10, 7, 74, 200, 0
},
{
11, 94, 3, 239, 11
},
{
-7, 23, 88, 28, 83
}
};
CSquare s((int*)a, 5);
int max = ();
cout<<"max="<<="" 应输出:max="239">
二、程序阅读题(本大题共30分,共 5 小题,每小题 6 分)
1. 写出下面程序运行结果。
#include <>
void rev(int a[],int n)
{
int t;
for(int
复旦大学生物化学笔记完整版 来自淘豆网www.taodocs.com转载请标明出处.