| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Создание и сортировка массива классов |
| Автор: NFL 5.5.2009, 11:11 | ||||
Компилятор ругается на
h:\documents and settings\admin\мои документы\visual studio 2005\projects\cl_laba\cl_laba\cl_laba.cpp(16) : warning C4996: 'strcpy' was declared deprecated h:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy' (MS Visual Studio 2005) В чем тут проблема??? И еще.... Нужно с этим классом создать массив классов, и его отсортировать по заданному полю... Надеюсь на помощь |
| Автор: azesmcar 5.5.2009, 11:29 | ||
| NFL Во первых - это не ошибка а варнинг. Во вторых - в ней все сказано дурацкии варнинги студии, можете заменить на strcpy_s, но это нестандартная функция. Можно отключить эти варнинги если сильно нервирует
|
| Автор: zim22 5.5.2009, 11:53 | ||
функция std::sort из <algorithm> c функтором в качестве третьего параметра подойдёт. |
| Автор: NFL 5.5.2009, 11:59 |
Слишком сильно для студента первого курса А strcpy_s, пробовал, но тоже какие то ошибки, типа "не хватает 2х аргументов" Обращаться, я так понимаю, через точку к полям? ЗЫ: И сортировку можно прямо в main делать? |
| Автор: NFL 5.5.2009, 12:47 | ||
Это все дело работает на УРА Подскажите, пжл, еще - как сделать сортировку массива myclass t[n] по полю uch??? Желательно с использованием массива указателей, но буду благодарен за любой вариант |
| Автор: Cheloveck 5.5.2009, 12:51 |
| http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%A8%D0%B5%D0%BB%D0%BB%D0%B0 http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8 http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BE%D0%BC http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%88%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D0%BE%D0%B4%D1%81%D1%87%D1%91%D1%82%D0%BE%D0%BC http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC Это наиболее популярные алгоритмы сортировки массива. Чтобы ими воспользоваться тебе нужно у себя в классе перегрузить операторы > и/или <. P.S. Если шаблон студенту первого курса не подходит, то пусть сортирует как все)))) |
| Автор: NFL 5.5.2009, 15:37 |
| Cheloveck, мне то подходит, а преподу - НЕД))) Сортировки эти все я знаю - я спрашиваю, как передать в функцию массив классов=) Ну ща шо нить прокурю))) |
| Автор: zim22 5.5.2009, 15:58 | ||
|
| Автор: gosn1ck 6.5.2009, 20:30 | ||
эти типы не абстрактные, они столь же реальны, как int и float |
| Автор: Cheloveck 7.5.2009, 07:56 | ||
| Имя массива есть указатель на его первый элемент, передавай указатель. Добавлено через 1 минуту и 14 секунд
И не "массив классов", а массив объектов класса o_O |
| Автор: azesmcar 7.5.2009, 08:37 | ||||
Константный указатель - если быть точным (по стандарту имя массива - rvalue)
|