实验报告 6-2

* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者: 张传新                            
* 完成日期:  2012       年  3     月     28   日
* 版 本 号:  1       

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:……
* 算法设计:……
*/

  1. #include<iostream>   
  2. using namespace std;  
  3. class A   
  4. {  
  5. private:  
  6.     int *a;   
  7.     int n;   
  8.     int MaxLen;  
  9.  public:  
  10.      A(): a(0), n(0), MaxLen(0) {}   //定义构造函数   
  11.     ~A();                            //定义析构函数   
  12.     A(int *aa, int nn, int MM);  
  13.     int GetValue(int i) {return a[i];}   
  14. };  
  15. A::A(int *aa, int nn, int MM)  
  16. {  
  17.     n=nn;  
  18.     MaxLen=MM;  
  19.     if(n>MaxLen)   
  20.         exit(1);  
  21.     a=new int[MaxLen];  
  22.     <span style="color:#009900;">for(int i=0;i<MaxLen;++i) //以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中    
  23.     {    
  24.         a[i]=*(aa+i);    
  25.     };   
  26. </span>}  
  27. <span style="color:#cc33cc;">A::~A()                       //析构函数的类外定义,释放指针型数据a所指向的空间   
  28. {    
  29.     delete[] a;    
  30. }    
  31.   
  32. </span>void main()  
  33. {  
  34.     int b[10]={1,2,3,4,5,6,7,8,9,10};  
  35.     A r(b,9,10);  
  36.     int i,s=0;  
  37.     <span style="color:#ff0000;">for(i=0;i<10;++i)        //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中   
  38.     {    
  39.         s=s+r.GetValue(i);    
  40.     } ;   
  41. </span>   cout<<"s="<<s<<endl;  
  42.     system("pause");  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章