一、学习要点
1.相同类型的对象的复制是通过拷贝构造器;
2.初始化成员列表的具体表达方式,第一个是冒号,剩下的都是逗号。
3.强制类型转变,(float);
二、程序代码:
1.有关拷贝构造器的:

#include<iostream>
using namespace std;
class CExample{
private:int a;
public:CExample(int b){a=b;}CExample(const CExample &c){a=c.a}~CExample(){cout<<"destructor is called\n";}void Show(){cout<<a<<endl;}}
int main(){CExample A(100);CExample B=A;B.Show();return 0;
}


运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象B分配了内存并完成了与对象 A的复制过程。就类对象而言,相同类型的类对象是通过拷贝构造函数来完成整个复制过程的。
其中CExample(const CExample& C)就是我们自定义的拷贝构造函数。可见,拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它必须的一个参数是本类型的一个引用变量。
2.

#include<iostream>
using namespace std;
class RecurveArray{
public:int *Element;int ArraySize;
public:RecurveArray(int size=10):Array(size),Element(new int[size]){};~RecurveArray(){delete []Element};void InputArray();int MaxKey(int n);int Sum(int n);folat Ave(int n);
};
int main(){int size=-1;cout<<"请输入数组尺寸:";cin>>size;RecurveArray re(size);re.InputArray();cout<<"\nThe max is"<<re.MaxKey(size);cout<<"\nThe sum is"<<re.Sum(size);cout<<"\nThe Ave is"<<re.Ave(size)<<"/n";system("pause");return 0;
}
void RecurveArray::InputArray(){for (int i=0;i<ArraySize;i++){cin>>Element[i];}
}
int RecurveArray::MaxKey(int n){if(n==1){return Element[0];}else{if (Element[n-1]>MaxKey(n-1)){return Element[n-1];}else{return MaxKey(n-1);}}
}
int RecurveArray::Sum(int n){if(n==1){return Element[0];}else{return Element[n-1]+Sum(n-1);}
}
float RecurveArray::Ave(int n){if(n==1){return (float)Element[0];}else{return (float)(Element[n-1]+(n-1)*Ave(n-1))/n;}
}

三、程序运行结果:

四、注意事项:
1.初始化成员列表和拷贝构造器;
2.类的应用和封装;

C++递归求数组最大值、平均值、求和相关推荐

  1. Java黑皮书课后题第7章:7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数。编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值

    7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数.编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值 题目 题目描述 破题 代码 运行实例 题 ...

  2. java数组排列组合_java算法题--递归求数组中数字排列组合问题

    java算法题–递归求数组中数字排列组合问题 题目:有一个数组{1,2,3},输出数组中数字的所有可能组合: 比如:123.132.213- 解题思路 通过递归不停的交换数组中的两个数(当然,肯定是有 ...

  3. 用递归法求数组最大值

    设a是有n个int类型数据元素的数组,试编写求a中最大值的递归函数 递归!!! 1.确定参数.数组是容器,无疑是第一个参数.我们在数组中不停地寻找最大数,不能避免两数比较,遍历数组确保将数组中每一个数 ...

  4. Javascript 求数组(平均值,百分比,中位数,众数)

    吐血整理,望能帮到有需要的猿 1.平均值 思路:遍历数组求和 / 数组长度 // 平均值let arr = {'a' : 0}let tmpJson = {a: [59907, 59907, 5990 ...

  5. android 求数组最大值,面试算法知识梳理(7) - 数组第四部分

    面试算法代码知识梳理系列 一.概要 本文介绍了有关数组的算法第四部分的Java代码实现,所有代码均可通过 在线编译器 直接运行,算法目录: 求数组当中的最长递增子序列(求数组当中的最长递减子序列) 区 ...

  6. Java求数组的平均值

    public static double avg(int[] arr) {//实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型).double sum = 0;f ...

  7. java求数组的平均值_Java中数组求平均值,最大值,最小值。

    //从控制台任意输入六个数字,然后输出六个数字的平均值,最大值以及最小值. import java.util.Scanner; public class Text2 { public static v ...

  8. 求数组最小数平均值和和值

    1. 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值, 最小值,平均值,和值,并输出出来. class ArrayNumber{     public sta ...

  9. python求数组最大值_Python算法与数据结构--求所有子数组的和的最大值

    Python算法与数据结构--求所有子数组的和的最大值 玄魂工作室秘书 玄魂工作室 昨天 题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. ...

最新文章

  1. python3 ThreadPoolExecutor 线程池大小设置
  2. thinkphp视频截图_thinkphp开发的搞笑视频网站
  3. TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器
  4. Linux新手入门:通过chmod改变文件权限--转
  5. WINDOWS系统文件讲解
  6. 深度学习之卷积神经网络(5)表示学习
  7. 三分钟总览微软任务并行库TPL
  8. 转3d视图快捷键_最全Solidworks快捷键,值得收藏!
  9. 把编译时间加入到目标文件
  10. Week06-接口、内部类
  11. STM32中的位带(bit-band)操作
  12. BERT源码分析PART II
  13. 使用Node.js的Express框架搭建和开发项目
  14. IIS DNS服务器搭建
  15. 【文献学习】《Reference-free detection of isolated SNPs》
  16. 英语3500词(19/20)education主题(2022.4.29)
  17. 哪些能恢复网站服务器的数据的方式呢?
  18. 行测测评(二)——图形找规律技巧
  19. 临床试验中edc录入_使用电子数据采集(EDC)系统进行医疗器械临床试验研究
  20. Objective-C 编程语言(4)) 协议---声明由别人实现的接口,由别人来实现的方法,为匿名对象声明接口

热门文章

  1. boost::gil模块实现打包像素格式的测试程序
  2. boost::fibers::future用法的测试程序
  3. boost::endian模块实现data的测试程序
  4. ITK:多相Chan和Vese稀疏场水平集分割
  5. ITK:观察事件 Observe An Event
  6. VTK:Points之ExtractClusters
  7. VTK:InfoVis之GraphPoints
  8. OpenGL使用Perlin噪声的腐蚀效果
  9. OpenGL几何着色器
  10. C++Kosaraju找有向图的强连通分量算法(附完整源码)