C++程序设计实验报告 6-2

/*

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:      指针                   

 * 作   者:  计114-3    杨坛坛                     

* 完成日期    2012       3      27  

 

* 版本号:   VC2008      

 *算法设计:

*/

//a.用指针访问对象

#include <iostream>

using namespace std;  

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


 

运行结果:

C++程序设计实验报告 6-2_第1张图片

//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)
{
	n = nn;
	MaxLen = MM;
	if(n > MaxLen) exit(1);
	a = new int[MaxLen];
for(int i = 0; i < n; i++)
{
	a[i] = aa[i];//以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中
}
}
A::~A()
{
	delete []a;//析构函数的类外定义,释放指针型数据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++)
	{
		s += r.GetValue(i);
	}
	cout << "s=" << s << endl;
}


运行结果:

C++程序设计实验报告 6-2_第2张图片

感想:实现了new,delete应用;new类型[初值];delete[]指针变量

你可能感兴趣的:(C++,c,算法,delete,Class)