第七周 项目2 体验常成员函数
2014-04-13 17:44
477 查看
我的程序: /* * 程序的版权和版本声明部分: * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:王鲁峰 * 完成日期:2014 年 4月 8日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述:无 * 程序输入:略 * 程序输出:略 * 算法设计:略 */ #include<iostream> #include<cstring> using namespace std; class A { private: int *arrayAddr;//保存一个有len个整型元素的数组的首地址 int len; //记录动态数组的长度 int max; //动态数组中的最大值(并非动态数组中必须要的数据成员) public: A(int *a,int n) { int z=-1; len=n; arrayAddr=new int[n+1]; for(int i=0;i<n;i++) { *(arrayAddr+i)=*(a+i); if(*(arrayAddr+i)>z) z=*(arrayAddr+i); } max=z; } ~A() { delete arrayAddr; } int getValue(int i); //获得a指向的数组中下标为i的元素的值 int getLen(); //返回数组长度 int getMax( ); //返回数组中的最大值 }; int A::getValue(int i){ //获得a指向的数组中下标为i的元素的值 return arrayAddr[i]; } int A::getLen(){ //返回数组长度 return len; } int A::getMax( ) { //返回数组中的最大值 return max; } int main(){ int b[10]= {75, 99, 90, 93, 38, 15, 5, 7, 52, 4}; A r1(b,10); cout<<"最大值:"<<r1.getMax()<<endl; int c[15] = {18,68,10,52,3,19,12,100,56,96,95,97,1,4,93}; A r2(c,15); int i,s=0; for(i=0; i<r2.getLen(); i++) s+=r2.getValue(i); cout<<"所有元素的和为:"<<s<<endl; return 0; }
运行结果:
心得体会:
需要开辟一段空间存储,并且用深复制,最后需要释放空间.
相关文章推荐
- Qt学习——聊天的QQ列表QToolBox类
- MongoDB学习之旅十二:MongoDB MapReduce
- 数据库中批量插入数据的方法,记录一下。
- Windows7+WDK+VS2010+VisualDDK驱动开发环境搭建(两篇)
- php脚本超时时间设置
- Python中第三方的用于解析HTML的库:BeautifulSoup
- Java 数据类型
- cocos2d-x 控件之 下拉菜单列表
- UVA 11729 Commando War
- 关于java的位运算
- 《数据结构、算法与应用》5.(递归输出n个元素的所有子集)
- apt-get常用命令
- 在for循环体内声明的变量,每次进入循环,都不保持旧值而是重新声明
- POJ 3094
- Spring声明式事务配置管理方法
- mac上远程连接windows
- python操作mysql基础之分割与合并数据
- java集合的总结
- PJMEID学习之视频的捕捉与播放
- unicode到utf-8的转换