所以,我基本上学习了 C++ 中的类和模板函数。假设我有一个班级学生的记录,包括他们的卷号、姓名和总分。我正在使用索引排序对记录进行排序。现在可以根据姓名、卷或总分进行排序。如何使用模板函数合并所有三个?
class record{
public:
int roll;
string name;
int total;
};
void sort_name(int a[], record r[],int n)
{
int temp;
bool xchange = true;
for(int pass=1;pass<n&&xchange==true;pass++)
{
for(int j=0;j<n-pass;j++)
{
if(r[a[j]].name>r[a[j+1]].name)
{
temp=a[j];
a[j]=a[j+1];
a[j+1] = temp;
}
}
}
}
因此,我不想一次又一次地编写函数,而是想用 r[a[j]].roll 和 r[a[j]].total 替换 r[a[j]].name。那可能吗?