/*
* 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;
}
運行結果:
(貼圖)
心得體會: