第6周任务2
2012-03-27 21:07
113 查看
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: 苗影 * 完成日期: 2012 年 3 月 26 日 * 版 本 号: * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */ #include<iostream> using namespace std; class A { private: int a; public: A() {a=0;} A(int aa):a(aa){} //定义构造函数,用参数aa初始化数据成员a }; int main() { A *p;//定义类A的指针对象p p=new A(8); //用p指向动态对象并初始化为整数 return 0; } [cpp] view plaincopyprint? #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<MaxLen;i++)//以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中 { a[i]=*(aa+i); } } A::~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; }
经验积累:
1 定义析构函数时是把【】放在a前面的。
2 累加时不是直接写成a[i],而是调用r..GetValue()
相关文章推荐
- 第6周实验报告任务二
- 第6周任务3
- 第6周-任务1-使用常对象的一个典型错误
- C03-Java同步实践加强班第6周上机任务
- 第6周-任务1-使用常对象的一个典型错误
- C03-Java同步实践加强班第6周上机任务
- 第6周-任务2-程序填空
- 第6周任务五
- C03-Java同步实践加强班第6周上机任务
- 第6周-任务2-程序填空
- C02-程序设计基础提高班(C++)第6周上机任务-数组
- 第6周-任务3-设计平面坐标点类
- 第6周实验报告任务二
- 第6周任务2
- C02-程序设计基础提高班(C++)第6周上机任务-数组
- 第6周实验报告任务一
- 第6周-任务3-设计平面坐标点类
- 第6周任务一
- C02-程序设计基础提高班(C++)第6周上机任务-数组
- 第6周-任务4-用点类作成员的三角形类