c++作业题:
(1):以i为循环变量把aa数组中每个元素值,传送给a数组的对应元素中
(2):析构函数的类外定义
(3):/以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中
#include<iostream>
#include<stdliB.h>
using namespace std;
class A {
int* a; int n; int MaxLen; //默认私有属性 private : int* a; int n; int MaxLen;
public:
A() : a(0), n(0), MaxLen(0) { }//构造函数及其初始化列表
A(int* aa, int nn, int MM) { //有参构造函数,形参:int* aa, int nn, int MM
n = nn;
MaxLen = MM;
if (n > MaxLen) exit(1); //检测判断机制,当n > MaxLen时,退出,否则,执行下一句
a = new int [MaxLen]; //申请 MaxLen 个int型的动态数组(数组也是一种指针)
for (int i = 0; i < n; i++) {
a[i] = aa[i]; //以i为循环变量把aa数组中每个元素值,传送给a数组的对应元素中
}
// ____________(1)____________;
//以i为循环变量把aa数组中每个元素值
//传送给a数组的对应元素中
}
~A();
int GetValue(int i) {
return a[i];
}
//函数体返回a[i]的值
};
A::~A(void) {
delete []a; //释放动态数组a
}
//____________(2)____________
//析构函数的类外定义
void main()
{
int b[10] = { 1,2,3,4,5,6,7,8,9,10 }; //主函数中定义一个数组并初始化
A r(b, 10, 10); //A类 r类的对象 实参:b, 10, 10--->形参int* aa, int nn, int MM
int i, s = 0;
for (i = 0; i < 10; i++) {
s = s + r.GetValue(i);//以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中
/*
分解:
1. r.GetValue(i)--> return a[i];得到i个a的值
2. s = s + r.GetValue(i);把r对象的a数据成员中的每个元素值依次累加到s中
*/
}
// ____________(3)____________;
//以i为循环变量,把r对象的a数据成员中的
//每个元素值依次累加到s中
cout << "s=" << s << endl;
}
运行结果:
s=55