OOP技术:面向对象程序设计期末复习指导(3)
class AA {
int* a;
int n;
int MS;
public:
void InitAA(int aa[], int nn, int ms) {
if(nn>ms) {cout<<"Error!"<<endl; exit(1);}
MS=ms;
n=nn;
a=new int[MS];
for(int i=0; i<n; i++) a[i]=aa[i];
}
int CompareBig(AA b); //比较*this与b的大小,从前向后按两数组
//中的对应元素比较,若*this中元素值大则返回1,若b中
//元素值大则返回-1,若相等则继续比较下一个元素,直到
//一个数组中无元素比较,此时若两者的n值相同则返回0,
//否则若*this中的n值大则返回1,若b中的n值大则返回-1。
};
OOP,面向对象,程序设计,C++,Java
4、 根据下面类中Give函数的原型和注释写出它的类外定义。
class Array {
int *a; //指向动态分配的整型数组空间
int n; //记录数组长度
public:
Array(int aa[], int nn); //构造函数,利用aa数组长度nn初始化n,
//利用aa数组初始化a所指向的数组空间
Array(Array& aa); //拷贝构造函数
Array& Give(Array& aa); //实现aa赋值给*this的功能并返回*this
Array Uion(Array& aa); //实现*this和aa中的数组合并的
//功能,把合并结果存入临时对象并返回
int Lenth() {return n;} //返回数组长度
void Print() { //输出数组
for(int i=0; i<n; i++)
cout<<a[i]<<' ';
cout<<endl;
}
};
5、
指出程序或函数的功能
double f1(double a, double b, char op) {
switch(op) {
case ’+’: return a+b; case ’-’: return a-b; case ’*’: return a*b; case ’/’: if(b==0) { cout<<"divided by 0!"<<endl; exit(1); } else return a/b; default: cout<<"operator error!"<<endl; exit(1); }
}
6、 根据下面类中Compare 函数成员的原型和注释写出它的类外定义。
class AA {
int* a;
OOP,面向对象,程序设计,C++,Java
int n;
int MS;
public:
void InitAA(int aa[], int nn, int ms) {
if(nn>ms) {cout<<"Error!"<<endl; exit(1);}
MS=ms;
n=nn;
a=new int[MS];
for(int i=0; i<n; i++) a[i]=aa[i];
}
int Compare(AA b); //比较*this与b的大小,若两者中
//的n值相同,并且数组中前n个元素值对应
//相同,则认为两者相等返回1,否则返回0。
};
7、
下面给出了矩阵类Matrix定义。为了求两个矩阵对象的乘积,需要定义一个Matrix的友元函数Multiply()。请按照友元函数Multiply()的声明编写出该函数的定义。
class Matrix {
public:
Matrix(int row,int col); //构造一个具有row行col列的矩阵
~Matrix() {delete []mem;} //析构函数
friend bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3);
//定义Multiply()为友元函数,该函数把m1×m2的值赋给m3
//其他成员函数从略
private:
int *mem; //动态申请矩阵空间
const int rows,cols; //矩阵的行数和列数
};
Matrix::Matrix(int row,int col):rows(row),cols(col)
{
mem = new int[row*col];
}
bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3)
{
//确定矩阵是否能够进行相乘
if(m1.rows != m3.rows ||m2.cols != m3.cols || m1.cols != m2.rows) return false; //定义sum变量,用于计算乘积矩阵m3中每个元素的值
int sum;
//请在下面编写剩余部分
OOP,面向对象,程序设计,C++,Java
}
8、
指出程序或函数的功能
int fun6(int m, int n, int b=2)
{
if(m<b && n<b) return m*n;
else if(m%b==0 && n%b==0) return b*fun6(m/b,n/b,b); else return fun6(m,n,++b);
}
9、
下面程序段第4-9行中存在着三条语句错误,请指出错误语句的行号并说明原因。 class A { //1行
int a,b; //2行
const int c; //3行
public: //4行
A() {a=b=c=0;} //5行
A(int aa, int bb):c(aa+bb) {a=aa; b=bb;} //6行
}; //7行
A a,b(1,2,3); //8行
A x(2,3), y(4); //9行
错误行的行号为______、________和________。
错误原因分别为___________________、__________________和__________________。
10、 根据下面类中Uion 函数的原型和注释写出它的类外定义。
class Array {
int *a; //指向动态分配的整型数组空间
int n; //记录数组长度
public:
Array(int aa[], int nn); //构造函数,利用aa数组长度nn初始化n,
//利用aa数组初始化a所指向的数组空间
Array(Array& aa); //拷贝构造函数
Array& Give(Array& aa); //实现aa赋值给*this的功能并返回*this
Array Uion(Array& aa); //实现*this和aa中的数组合并的功能,把合并
//结果(其长度为两数组长度之和)存入临时对象并返回
int Lenth() {return n;} //返回数组长度
OOP,面向对象,程序设计,C++,Java
void Print() { //输出数组
for(int i=0; i<n; i++)
cout<<a[i]<<' ';
cout<<endl;
}
};
11、
指出程序或函数的功能
void f4(char a[M][N])
{
int c1,c2,c3;
c1=c2=c3=0; for(int i=0;i<M;i++) if(strlen(a[i])<5) c1++; else if(strlen(a[i])>=5 && strlen(a[i])<15) c2++; else c3++; cout<<c1<<’ ’<<c2<<’ ’<<c3<<endl;
}
12、 根据下面类中拷贝构造函数的原型写出它的类外定义。
class Strings {
char *s; //指向动态分配的字符串数组空间
int n; //记录字符串长度
public:
Strings(char*str); //构造函数,利用str字符串长度初始化n,
//利用str字符串初始化s所指的字符串空间
Strings(Strings& str); //拷贝构造函数
…… 此处隐藏:2857字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




