實驗報告 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");  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章