关闭

第六周任务二之程序填空

219人阅读 评论(0) 收藏 举报

a. 用指针访问对象

#include<iostream>

using namespace std;

class A
{
private:

	int a;

public:

	A() {a = 0;}

	A(int aa):a(aa){}  //定义构造函数,用参数aa初始化数据成员a
};
void main() 
{
	A *p;  //定义类A的指针对象p
	p = new A(5);   //用p指向动态对象并初始化为整
}

b. 指针类型作为成员函数的参数

#include<iostream>

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];} 
};
A::A(int *aa, int nn, int MM)
{
	int i;

	n = nn;

	MaxLen=MM;

	if(n > MaxLen) exit(1);//如果n > MaxLen,显示错误

	a=new int[MaxLen];

	for(i = 0; i < nn; ++i);  //以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中
	{
		a[i] = aa[i];
	}
}
	A::~A()
	{
		delete []a;
	}
void 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 < 10; ++i); //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中
	{
		s = s + r.GetValue(i);
	}
	cout << "s=" << s << endl;

	system("pause");

	return ;
}

经验积累:

用new开辟的空间,要用delete回收


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:97926次
    • 积分:1499
    • 等级:
    • 排名:千里之外
    • 原创:79篇
    • 转载:1篇
    • 译文:0篇
    • 评论:40条
    文章分类
    最新评论