第6周项目1-我的数组类
来源:互联网 发布:哪里可以买淘宝账号 编辑:程序博客网 时间:2024/05/29 11:49
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:梁璨 * 完成日期:2015年 4 月 15 日 * 版 本 号:v1.0 * * 问题描述: 下面的程序,因为存在指针类型的数据成员,需要能完成深复制的构造函数。请补充完整构造函数和析构函数(其他不必动)。其中,构造函数要完成下面三个任务:(1)为各成员函数赋值,按照深复制原则,其中arrayAddr应该是为保存数据新分配的连续空间的首地址;(2)MyArray(int *a, int n)中,要将a指向的数组中的数值,逐个地复制到新分配的arrayAddr指向的空间中;(3)getMax( )函数采取的策略是直接返回max(所以,计算max的工作,由构造函数完成)。 * 输入描述:NULL; * 程序输出:按要求输出。
#include <iostream>using namespace std;class MyArray{private: int *arrayAddr; int len; int max;public: MyArray(int *a,int n) { len=n; arrayAddr=new int[n]; max=0; for(int i=0;i<n;i++) { arrayAddr[i]=a[i]; if(max<a[i]) { max=a[i]; } } } ~MyArray() { delete []arrayAddr; } int getValue(int i); int getlen(); int getMax();};int MyArray::getValue(int i){ return arrayAddr[i];}int MyArray::getlen(){ return len;}int MyArray::getMax(){ return max;}int main(){ int b[10]={75,99,90,93,38,15,5,7,52,4}; MyArray 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}; MyArray r2(c,15); int i,s=0; for(i=0;i<r2.getlen();i++) s+=r2.getValue(i); cout<<"所有元素的和为:"<<s<<endl; return 0;}
运行结果:
0 0
- 第6周项目1-我的数组类
- 第6周项目2我的数组类
- 第6周项目我的数组类
- 第6周项目2-我的数组类
- 第6周项目-我的数组类
- 第6周项目2-我的数组类
- 第6周项目2-我的数组类
- 2015-第6周项目2-我的数组类
- 第6周项目2我的数组类
- 第5周项目2-我的数组类
- 第9周-项目2-我的数组类
- 第9周项目2:我的数组类
- 第9周项目2 我的数组类
- 第9周项目2-我的数组类
- 第9周项目二-我的数组类
- 第9周项目2—我的数组类
- 第9周项目2-我的数组类
- 第9周项目2- 我的数组类
- 第六周 课后实践:项目一——深复制体验(3)
- 第六周项目四 成员函数、友元函数和一般函数有区别
- NetBeans IDE 8.0.1 更新信息列表
- 第六周 项目5-友元类
- 了解JSP中request属性的用法
- 第6周项目1-我的数组类
- 第6周项目4——成员函数、友元函数和一般函数有区别
- 解决乱码!MyEclipse设置统一编码为UTF-8
- bzoj 2006: [NOI2010]超级钢琴
- 2015.4.15成员函数,友元函数,一般函数的区别
- 2-6-4 成员函数、友元函数和一般函数有区别
- SublimeText 3的下载、安装及使用
- 学习使用Android极光消息推送
- z型变换