c++作业题: (1):以i为循环变量把aa数组中每个元素值,传送给a数组的对应元素中 (2):析构函数的类外定义 (3):/以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值