定义一个Array类模板,其中的数据成员是一个具有5个元素的一维数组,类中包含构造函数和一个找最大值的函数。通过这个类模板可以分别查找int、double、string类型一维数组中的最大值。要求写出主函数,测试这个类模板的正确性。
时间: 2023-06-04 14:03:27 浏览: 116
c语言实现 一维数组找其中最大值
好的,我明白了。以下是一个符合您要求的Array类模板的定义及测试代码:
```C++
#include <iostream>
#include <string>
using namespace std;
template <typename T>
class Array {
private:
T arr[5];
public:
Array(T a[5]) {
for (int i = 0; i < 5; i++) {
arr[i] = a[i];
}
}
T max() {
T maxVal = arr[0];
for (int i = 1; i < 5; i++) {
if (arr[i] > maxVal) {
maxVal = arr[i];
}
}
return maxVal;
}
};
int main() {
int a[5] = {1, 2, 3, 4, 5};
Array<int> intArr(a);
cout << "The max value of int array is: " << intArr.max() << endl;
double d[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
Array<double> doubleArr(d);
cout << "The max value of double array is: " << doubleArr.max() << endl;
string s[5] = {"hello", "world", "I", "am", "AI"};
Array<string> stringArr(s);
cout << "The max value of string array is: " << stringArr.max() << endl;
return 0;
}
```
测试结果:
```
The max value of int array is: 5
The max value of double array is: 5.5
The max value of string array is: world
```
阅读全文