用c++的格式写一个代码,要求如下:写一个类模板,它有一个通用数组(既可作整数数组,又可作双精度小数数组),它有三个成员函数,其功能分别是,从键盘读取数据到数组、将数组数据保存到某个文件中、求数组中的最大元素。
时间: 2024-04-29 21:23:42 浏览: 98
```c
#include <iostream>
#include <fstream>
using namespace std;
template <typename T>
class MyArray {
private:
T *arr; // 通用数组
int size; // 数组大小
public:
MyArray(int s) { // 构造函数
arr = new T[s];
size = s;
}
~MyArray() { // 析构函数
delete [] arr;
}
void readFromKeyboard() { // 从键盘读取数据到数组
cout << "请输入" << size << "个元素:" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
void saveToFile(string filename) { // 将数组数据保存到某个文件中
ofstream outfile(filename);
for (int i = 0; i < size; i++) {
outfile << arr[i] << " ";
}
outfile.close();
}
T getMax() { // 求数组中的最大元素
T max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
};
int main() {
// 整数数组
MyArray<int> intArr(5);
intArr.readFromKeyboard();
int maxInt = intArr.getMax();
cout << "整数数组中的最大元素为:" << maxInt << endl;
intArr.saveToFile("intArray.txt");
// 双精度小数数组
MyArray<double> doubleArr(5);
doubleArr.readFromKeyboard();
double maxDouble = doubleArr.getMax();
cout << "双精度小数数组中的最大元素为:" << maxDouble << endl;
doubleArr.saveToFile("doubleArray.txt");
return 0;
}
```
阅读全文