Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Определение функций сортировок в классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы и их наследование http://www.cyberforum.ru/cpp-beginners/thread833215.html
Начал изучать С++ и ООП после того как понял немного осоновы. И вот столкнулся с чем. Есть базовый класс, есть класс-наслденик, базовый класс вывел расчеты, а класс наследник - нет. Вот Код. ...
C++ Найти дополнение к числу в дополнительном коде на с++ Найти дополнение к числу в дополнительном коде на с++. Я знаю что такое дополнение к 1 и 2 в двоичном коде. А как найти дополнение к произвольному числу? http://www.cyberforum.ru/cpp-beginners/thread833204.html
подскажите как заставить правильно работать программу по реализации класса "треугольник" на C++ C++
lb_1_oop_sam.h #ifndef lb_1_oop_sam_h #define lb_1_oop_sam_h //Структура "треугольник" class triangle { struct point {
C++ Анализ буфера клавиатуры нестандартным методом
Здравствуйте! Ребята, подскажите, не знаю откуда копать и куда. Есть задача: Разработать программу, которая анализируя буфер клавиатуры выводит нажатые клавиши и осуществляет перемещение курсора (без...
C++ наследование http://www.cyberforum.ru/cpp-beginners/thread833145.html
Еще раз добрый вечер всем. У меня такая проблема - есть класс многочлен от трех переменных x,y,z мне нужно реализовать наследника от него - многочлен от переменной х. Не могу сообразить с какого боку...
C++ Чтение из памяти стороннего процесса и запись в файл массива типа doouble Здравствуйте. Помогите кто может) В общем надо написать прогу которая будет читать мой массив из Visual Studio 2010 во время отладки (то есть адрес его известен) и записывать его в текстовый файл.... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6486 / 3130 / 307
Регистрация: 04.12.2011
Сообщений: 8,644
Записей в блоге: 5
10.04.2013, 01:52
Цитата Сообщение от Minor1310 Посмотреть сообщение
Есть класс содержащий к примеру 2 функции сортировки(выбором и пузырьком) в которые передается интовый массив. Из методов реализации сортировок найдены:
1) выбором
Вопрос такого плана как реализовать их внутри-классово без шаблонов?
Вот перегрузка шаблона на тип int (специализация):
C++
1
2
3
4
5
6
7
8
void selectSort<int>(int* arr, int size)  
{
    T tmp;
    for(int i = 0; i < size; ++i) // i - номер текущего шага
    { 
       //и тп.
    }
}
Вот перегрузка без шаблона:
C++
1
2
3
4
5
6
7
8
void selectSort(int* arr, int size) 
{
    T tmp;
    for(int i = 0; i < size; ++i) // i - номер текущего шага
    { 
       //и тп.
    }
}
Но... обычно в классе определяют операторы сравнения (главным образом < ) и передают в метод сортировки где эти операции используются. То есть стандартно это можно представить так например:
-определяем bool operator<()
-заполняем контейнер (vector) экземплярами класса
-вызываем sort(ier1, iter2) //подключить <algorithm>
то есть следуя этой логике сортировку вообще не стоит реализовывать в классе. А методов сравнения можно определить несколько:
bool comp1()
bool comp2()
....
bool compn()
тогда каждый раз когда нужно сортировать по определенному критерию и параметру вызывается перегруженная
sort( , , A::compk()) //функция сравнения передаётся
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru