编程序创建一个类模板,可以对不同的数据类型的数组分别进行初始化、添加数据、求和、求平均值、显示数组等功能。
#pragma once
#include<iostream>
using namespace std;
template<typename T>
class 数据处理
{
public:
数据处理();
数据处理(int i);//初始化数组
~数据处理();
void datein(int len);//添加数据
T sum();//求和
T averge();//求平均值
void show();//显示数组
private:
int n;//数组数目
T *a;//数组
};
template<typename T>数据处理<T>::数据处理()
{
}
template<typename T>数据处理<T>::数据处理(int i)//初始化数组
{
n = i;
a = new T[n];
}
template<typename T>数据处理<T>::~数据处理()
{
}
template<typename T>void 数据处理<T>::datein(int len)
{
cout << "请输入数组:";
for (int i = 0; i < len; i++)
{
cin >> a[i];
}
}
template<typename T>T 数据处理<T>::sum()
{
T sum = a[0];
for (int i = 1; i < n; i++)
{
sum += a[i];
}
return sum;
}
template<typename T>T 数据处理<T>::averge()
{
return sum() / n;
}
template<typename T>void 数据处理<T>::show()
{
for (int i = 0; i < n; i++)
{
cout << a[i] << '\t';
}
}
//数据处理.cpp
#include "pch.h"
#include "数据处理.h"
//main.cpp
#include "pch.h"
#include <iostream>
#include "数据处理.h"
using namespace std;
int main()
{
int i,b;//数组数目,数组初始值
cout << "数组数目:";
cin >> i;
cout << "int类型:" << endl;
数据处理<int> m(i);
m.datein(i);
cout << "数据和:" << m.sum() << "\t平均值:" << m.averge() << endl;
cout << "数组显示:" << endl;
m.show();//整数类型
cout << endl;
cout << "数组数目:";
cin >> i;
cout << "double类型:" << endl;
数据处理<double> n(i);
n.datein(i);
cout << "数据和:" << n.sum() << "\t平均值:" << n.averge() << endl;
cout << "数组显示:" << endl;
n.show();
return 0;
}