第六周 任务二

灰太狼 2022-06-13 06:28 310阅读 0赞
  1. /*实验目的:练习使用指针
  2. 实验内容:程序填空:按要求将缺少的代码填进去
  3. * 程序的版权和版本声明部分
  4. * Copyright (c) 2011, 烟台大学计算机学院学生
  5. * All rights reserved.
  6. * 文件名称: 练习使用指针
  7. * 作 者: 薛广晨
  8. * 完成日期: 2012 年 3 月 25 日
  9. * 版 本号: x1.0
  10. * 对任务及求解方法的描述部分
  11. * 输入描述:用指针访问对象、 指针类型作为成员函数的参数
  12. * 程序头部的注释结束(此处也删除了斜杠)
  13. */
  14. /*//a. 用指针访问对象
  15. #include<iostream>
  16. using namespace std;
  17. class A
  18. {
  19. private:
  20. int a;
  21. public:
  22. A() {a=5;}
  23. A(int aa) : a(aa){}; //定义构造函数,用参数aa初始化数据成员a
  24. void display()
  25. {
  26. cout << a << endl;
  27. }
  28. };
  29. int main()
  30. {
  31. A *p ; //定义类A的指针对象p
  32. p = new A(100); //用p指向动态对象并初始化为整数
  33. p -> display();
  34. return 0;
  35. }*/

1332678807_2099.jpg

  1. //b. 指针类型作为成员函数的参数
  2. #include<iostream>
  3. using namespace std;
  4. class A
  5. {
  6. private:
  7. int *a;
  8. int n;
  9. int MaxLen;
  10. public:
  11. A(): a(0), n(0), MaxLen(0) {};
  12. A(int *aa, int nn, int MM);
  13. ~A();
  14. int GetValue(int i) {return a[i];}
  15. };
  16. A :: A(int *aa, int nn, int MM)
  17. {
  18. n = nn;
  19. MaxLen = MM;
  20. if(n > MaxLen) exit(1);
  21. a = new int[MaxLen];
  22. for(int i = 0; i < MaxLen; ++i)
  23. *(a+i) = *(aa + i); //以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中
  24. }
  25. A :: ~A() //析构函数的类外定义,释放指针型数据a所指向的空间
  26. {
  27. delete [] a;
  28. }
  29. void main()
  30. {
  31. int b[10] = {1,2,3,4,5,6,7,8,9,10};
  32. A r(b, 10, 10);
  33. int i, s = 0;
  34. for(i = 0; i < 10; ++i) //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中
  35. {
  36. s += r.GetValue(i);
  37. }
  38. cout << "s=" << s << endl;
  39. }

1332678882_5205.jpg

上机感言:又重新复习了一遍指针,对指针又有了一些理解,指针很好用

发表评论

表情:
评论列表 (有 0 条评论,310人围观)

还没有评论,来说两句吧...

相关阅读

    相关 任务

    /【任务5】将任务4的解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优

    相关 任务

    //【任务1】下面的程序存在编译错误。有两种方法可以修改,请给出这两种修改方案,在报告中说明你倾向于用哪一种?为什么?处理此类问题的原则是什么? /实验目的:

    相关 任务

    / 实验内容:设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。 程序的版权和版本声明部分

    相关 任务

    /实验目的:设计平面坐标点类 实验内容:设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等 程序的版权和版本声明部分

    相关 任务

    /实验目的:练习使用指针 实验内容:程序填空:按要求将缺少的代码填进去 程序的版权和版本声明部分 Copyright (c)