程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 第6周-項目2-指針填空(b)

第6周-項目2-指針填空(b)

編輯:C++入門知識

[cpp]
/*   
* 程序的版權和版本聲明部分   
* Copyright (c)2013, 煙台大學計算機學院學生   
* All rightsreserved.   
* 文件名稱: object.cpp   
* 作者:楊紹寧  
* 完成日期: 2013年  4  月 5 日   
* 版本號: v1.0   
* 輸入描述:無   
* 問題描述:。   
* 程序輸出:。   
*/       
#include <iostream>  
using namespace std; 
class A  
{private: 
  int *a;  
  int n;  
  int MaxLen; 
 public: 
    A(int *a,int n=0,int MM=0);  
  ~A(); 
  int GetValue(int i) {return a[i];} 
  int GetMaxLen(){return MaxLen;} 
 
}; 
A::A(int *aa, int nn, int MM) 
{  n=nn; 
  MaxLen=MM; 
  if(n>MaxLen) exit(1); 
  a=new int[MaxLen]; 
  int i;//以i為循環變量把aa數組中每個元素值傳送給a數組的對應元素中  
  for(i=0;i<MaxLen;i++) 
  {a[i]=aa[i];}//這裡是指針,不是數組 

/*  
* 程序的版權和版本聲明部分  
* Copyright (c)2013, 煙台大學計算機學院學生  
* All rightsreserved.  
* 文件名稱: object.cpp  
* 作者:楊紹寧 
* 完成日期: 2013年  4  月 5 日  
* 版本號: v1.0  
* 輸入描述:無  
* 問題描述:。  
* 程序輸出:。  
*/     
#include <iostream>
using namespace std;
class A
{private:
  int *a;
  int n;
  int MaxLen;
 public:
 A(int *a,int n=0,int MM=0);
  ~A();
  int GetValue(int i) {return a[i];}
  int GetMaxLen(){return MaxLen;}

};
A::A(int *aa, int nn, int MM)
{  n=nn;
  MaxLen=MM;
  if(n>MaxLen) exit(1);
  a=new int[MaxLen];
  int i;//以i為循環變量把aa數組中每個元素值傳送給a數組的對應元素中
  for(i=0;i<MaxLen;i++)
  {a[i]=aa[i];}//這裡是指針,不是數組[cpp] view plaincopyprint?} 
A::~A(){delete []a;}//析構函數的類外定義,釋放指針型數據a所指向的空間  
 
int main() 

  int b[10]={1,2,3,4,5,6,7,8,9,10}; 
  A r(b,10,10); 
  int i,s=0; 
  for(i=0;i<r.GetMaxLen();i++)//以i為循環變量,把r對象的a數據成員中的每個元素值依次累加到s中  
  { 
      s=s+r.GetValue(i); 
  } 
  cout<<"s="<<s<<endl; 
  return 0; 

}
A::~A(){delete []a;}//析構函數的類外定義,釋放指針型數據a所指向的空間

int main()
{
  int b[10]={1,2,3,4,5,6,7,8,9,10};
  A r(b,10,10);
  int i,s=0;
  for(i=0;i<r.GetMaxLen();i++)//以i為循環變量,把r對象的a數據成員中的每個元素值依次累加到s中
  {
   s=s+r.GetValue(i);
  }
  cout<<"s="<<s<<endl;
  return 0;
}
結果:\

感受:指針類型作為成員函數的參數,析構函數中,數組不能釋放,指針可以

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved