关闭

第六周实验报告2

345人阅读 评论(1) 收藏 举报

实验目的:程序填空:按要求将缺少的代码填进去
a.用指针访问对象:

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(1); //用p指向动态对象并初始化为整数
	cout << p;
}

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

class A 
{  
private:  
    int *a;  
    int n;  
    int MaxLen;  
public:
	A(int *, int, int);
    A(): a(0), n(0), MaxLen(0) {}  
    ~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 = s + r.GetValue(i); //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中   
    cout << "s = " << s << endl;  
}

实验心得:

老师曾经说过,我们需要至少有两种能力,一当然是我们每天几乎都要做的,写代码的能力,另一种那,就是读代码的能力,老师也说其实以后可能读代码所要花的时间要比写代码的时间更多,所以,要我们尽快培养这种能力。毕竟读代码,可以领会别人的意图,补己之短,程序填空,也是基于在读代码的基础之上,可见读代码多么重要喽,看来,I still have lots more to work on.

0
0

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