Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > function and struct


Автор: Гость_Igor 10.3.2004, 18:46
Я недавно изучаю C++ и вот есть такая проблема.
Нужно написать шаблон функции, которая выполняет сортировку массива любого типа. С массивами типа int, double и др. все работает, но как быть с масивом типа структура.
HELP!!!

Автор: Дрон 10.3.2004, 19:11
Необходимо перегрузить операторы сравнения для структуры.
Код
struct MyStruct{
 double Tag;

 int operator>(const MyStruct &obj) { return (Tag > obj.Tag); }
 int operator<(const MyStruct &obj) { return (Tag < obj.Tag); }
};
В этом примере просто сравниваются значения поля Tag структуры.


Теперь можно писать так:
Код
MyStruct obj1,obj2;
if(obj1 > obj2) { DoSomething(); }

Если ты собираешься использовать операторы >= и <= то их также нужно перегрузить.
А ещё было бы неплохо перегрузить оператор присваивания.

Автор: bel_nikita 10.3.2004, 19:12
А в чем собственно проблема, приведи пример какой-нить
проведи специализацию функции для структуры.

Автор: Unregistered 10.3.2004, 19:28
Дрон спасибо, все заработало!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)