写一个类模板,它有一个通用数组(既可作整数数组,又可作双精度小数数组),它有三个成员函数,其功能分别是,从键盘读取数据到数组、将数组数据保存到某个文件中、求数组中的最大元素。
时间: 2023-04-26 11:06:44 浏览: 85
关于数据读取的一个模板文档
以下是一个类模板的示例,它包含一个通用数组,可以存储整数或双精度小数,还有三个成员函数,分别用于从键盘读取数据到数组,将数组数据保存到文件中,以及计算数组中的最大元素。
```
template<typename T>
class Array {
private:
T* data; // 通用数组
int size; // 数组大小
public:
Array(int s) { // 构造函数
size = s;
data = new T[size];
}
~Array() { // 析构函数
delete[] data;
}
void readFromKeyboard() { // 从键盘读取数据到数组
for (int i = 0; i < size; i++) {
cin >> data[i];
}
}
void saveToFile(string filename) { // 将数组数据保存到文件中
ofstream outfile(filename);
for (int i = 0; i < size; i++) {
outfile << data[i] << " ";
}
outfile.close();
}
T getMax() { // 求数组中的最大元素
T max = data[0];
for (int i = 1; i < size; i++) {
if (data[i] > max) {
max = data[i];
}
}
return max;
}
};
```
使用示例:
```
Array<int> intArray(5); // 创建一个大小为5的整数数组
intArray.readFromKeyboard(); // 从键盘读取数据到数组
int maxInt = intArray.getMax(); // 计算整数数组中的最大元素
intArray.saveToFile("intArray.txt"); // 将整数数组数据保存到文件中
Array<double> doubleArray(3); // 创建一个大小为3的双精度小数数组
doubleArray.readFromKeyboard(); // 从键盘读取数据到数组
double maxDouble = doubleArray.getMax(); // 计算双精度小数数组中的最大元素
doubleArray.saveToFile("doubleArray.txt"); // 将双精度小数数组数据保存到文件中
```
阅读全文