Цитата
чтобы была возможность работы с данными вещественного, строкового и т.п. типа
? Если ты BubbleSortVer2<int> поменяешь на BubbleSortVer2<char>, твоя программа не будет с ним работать? Или ты хочешь сделать еще одно меню: сначала пользователь выбирает с каким типом работать, а потом - выбирает метод сортировки массива?Тогда тебе всю работы по вызову сортировок надо вынести в шаблонную функцию:
template <class T>
void work() {
// и здесь производить все операции, которые пользователь выберет
// из меню Message(), инстанцируя шаблоны сортировок типом T, например:
T a[size];
// для инициализации массива "a" можно написать шаблонную
// функцию Random, и сделать ее явные специализации для любого
// типа, с которым ты хочешь работать...
// Ну, а потом - ...
int time=GetTickCount();
BubbleSortVer2<T>(a, size);
time=GetTickCount()-time;
}
В основной же программе:
int main() {Идея понятна?
cout << "1: int; 2: double; 3: char; 4: string" << endl;
cin >> choice;
switch(choice) {
case 1:
Work<int>();
break;
case 2:
Work<double>();
break;
case 3:
Work<char>();
break;
case 4:
Work<string>();
break;
}
}
Сообщение отредактировано: volvo -