項目二--程序填空

/* 
* Copyright (c) 2011, 煙臺大學計算機學院 
* All rights reserved. 
* 作    者:王靜  
* 完成日期:2013  年 4  月 9  日 
* 版 本 號:v1.0 
* 輸入描述:
* 問題描述:
* 程序輸出:
* 問題分析:
* 算法設計:略 
*/  

//a. 用指針訪問對象
#include<iostream>
#include<stdlib.h>
using namespace std;
class A {
private:
  int a;
public:
  A() {a=0;}
  A(int aa){a=aa;}  //定義構造函數,用參數aa初始化數據成員a
  int geta(){return a;}
};
int main() {
  A *p=new A(6);//定義類A的指針對象p
  cout<<p->geta()<<endl;   //用p指向動態對象並初始化爲整數
  return 0;
}


運行結果:

#include <iostream>
#include<stdlib.h>

using namespace std;
class A
{private:
  int *a;
  int n;
  int MaxLen;
 public:
  A(): a(0), n(0), MaxLen(0) {}
  A(int *aa, int nn, int MM);
  ~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];
  for(int i=0;i<MaxLen;i++)
  {
  a[i]=*aa;
  aa++;
  }//以i爲循環變量把aa數組中每個元素值傳送給a數組的對應元素中
}
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++)
  {
  s+=r.GetValue(i);
  }//以i爲循環變量,把r對象的a數據成員中的每個元素值依次累加到s中
  cout<<"s="<<s<<endl;
  return 0;
}


運行結果:
(貼圖)


心得體會:

 

發佈了119 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章