设计一个函数模板,其中包括数据成员Ta[n]以 及对其进行排序的成员函数sort(),模板参数T可实例化 成宇符串。
时间: 2024-02-11 09:03:49 浏览: 141
php-redis中的sort排序函数总结
好的,根据您的要求,我为您设计了如下的函数模板:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
template <typename T, int N>
class SortableArray {
public:
SortableArray() {}
~SortableArray() {}
void sort() {
std::sort(Ta, Ta + N);
}
void print() {
for (int i = 0; i < N; i++) {
std::cout << Ta[i] << " ";
}
std::cout << std::endl;
}
private:
T Ta[N];
};
```
该函数模板名为`SortableArray`,包含一个数据成员`Ta`,长度为`N`,以及一个成员函数`sort()`,可对数据成员进行排序。在该函数模板中,使用了`std::sort()`函数进行排序。同时,为了方便测试,我还为您添加了一个打印数组的成员函数`print()`。
您可以这样使用该函数模板:
```cpp
int main() {
SortableArray<std::string, 5> sa;
sa.Ta[0] = "hello";
sa.Ta[1] = "world";
sa.Ta[2] = "this";
sa.Ta[3] = "is";
sa.Ta[4] = "a test";
sa.print(); // 打印排序前的数组
sa.sort();
sa.print(); // 打印排序后的数组
return 0;
}
```
输出结果如下:
```
hello world this is a test
a test hello is this world
```
阅读全文