声明一个类ARRAY,求一维数组中各元素的最大值,最小值和平均值用类模板实现
时间: 2023-06-06 14:04:28 浏览: 100
好的,针对您的问题,我可以回答。以下是实现代码:
template<typename T>
class ARRAY {
private:
T* data;
int size;
public:
ARRAY(T* arr, int n) {
size = n;
data = new T[size];
for(int i=0; i<size; i++) {
data[i] = arr[i];
}
}
T max() {
T maxval = data[0];
for(int i=1; i<size; i++) {
if(data[i]>maxval)
maxval = data[i];
}
return maxval;
}
T min() {
T minval = data[0];
for(int i=1; i<size; i++) {
if(data[i]<minval)
minval = data[i];
}
return minval;
}
double avg() {
double sum = 0;
for(int i=0; i<size; i++) {
sum += data[i];
}
return sum/size;
}
};
在实现中,使用了类模板来支持各种类型数组的操作。使用构造函数来初始化数组,并且提供 max()、min() 和 avg() 方法来获取数组的最大值、最小值和平均值。可以通过传递不同类型的数组来创建 ARRAY 类型的对象,并获取其属性值。
阅读全文