8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
||||||
1 | ||||||
функция вывода10.08.2011, 22:53. Показов 2106. Ответов 19
Метки нет (Все метки)
Всем привет!
Есть код (правда я еще работаю над ним)
0
|
10.08.2011, 22:53 | |
Ответы с готовыми решениями:
19
Функция заполняющая массив и функция вывода массива Friend функция вывода рекуривная функция вывода Перегруженная функция вывода >> |
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
10.08.2011, 23:07 [ТС] | 3 |
Необходимо написать функцию-друг, которая выводит информацию о само легком спортсмене в команде, забыл написать, функця должна быть в классе Team (базовый)
0
|
Заблокирован
|
||||||
10.08.2011, 23:12 | 4 | |||||
Никак! Потому что вы не указали, как будет организовано хранение ваших спортсменов. Вы лишь задали определение типа для отдельного спорстмена, а как у вас будет задана сововкупность спортсменов, это неизвестно. Вы назвали класс для определения спортсмена Team, но это имя неудачно, так как это скорей всего класс не для определения команды, а лишь для определения одного члена команды.
Но в любом случае вам нужно предоставить возможность сравнивать спортсменов по весу. Для этого вы должны либо предоставить открытый метод для доступа к весу спортсмена, либо перегрузить оператор сравнения '<'. Добавлено через 3 минуты Например, вы в своем классе Team могли бы определить открытый метод get_weight.
1
|
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
10.08.2011, 23:13 [ТС] | 5 |
а счетчик, показывающий количество спортсменов надо делать
Добавлено через 1 минуту а как вообще определить что сортсмен будет легким
0
|
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
10.08.2011, 23:16 [ТС] | 7 |
а как дальше быть?
Добавлено через 46 секунд Извините, я просто не могу представить как сравнивать, я нуб еще
0
|
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
10.08.2011, 23:22 [ТС] | 9 |
вот переменную мы открыли для доступа, а вот как сравнить, сыроежка можете продемонстрировать пожалуйста
0
|
Каратель
|
|
10.08.2011, 23:40 | 11 |
const запрещает методу менять состояние объекта, ну и сообщает стороннему читателю(который видит только интерфейс и не видит реализации) что метод не меняет состояние объекта
для красоты
0
|
Заблокирован
|
|||||||||||
10.08.2011, 23:42 | 12 | ||||||||||
Допустим, вы создаете два объекта своего класса Team
1
|
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
10.08.2011, 23:58 [ТС] | 13 |
а если их несколько, то тогда как (более двух), заранее спасибо
Добавлено через 13 минут да и как тут прилипить friend если спортсменов например 10, и как тогда сравнить
0
|
Заблокирован
|
||||||
11.08.2011, 00:24 | 14 | |||||
Скобки после return носят стилистический характер. Дело в том, что все операторы языка С/С++ используют выражения в круглых скобках, как, например, оператор if ( ... ), while ( ... ) и т.д. И только return стоит особняком. Использование скобок с return делает программу, написанной в одном стиле.
Что касается квалификатора const, то помимо того, что до меня было сказано, он позволяет вызывать этот метод для объектов, которые были объявлены константными. Если этого не делать, то, фактически, вы не сможете вызвать ни один метод для константного объекта. Например, const Team a; a.get_weight(); Если мы у данного метода отсутствовал квалификатор const, то мы не могли бы узнать, какой вес у этого объекта. Добавлено через 9 минут Тогда надо искать минимальный элемент последовательности. То есть если у вас спорстмены помещены в массив или другой контейнер, то вы ищите минимальный элемент. Сначала устанавливаете минимальный элемент равный первому спортсмены в последовательности, а затем поочереди его сравниваете с другими элементами последовательности. И если очередной элемент больше минимального, то минимальный элемент кладете равным этому элементы. Существует стандартный алгоритм std::min_element, который позволяет это делать для различных последовательностей. Но так как вы его скорей всего не знаете, то делать надо будет в цикле, если у вас массив элементов. Я покажу например массива целых чисел
Для этого в вашем классе должен быть определены конструктор копирования и оператор присваивания.
1
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
11.08.2011, 00:29 | 15 |
0
|
11.08.2011, 00:37 | 16 |
Maxwe11, согласен, хотя считаю что красота - красотой, а простота и читабельность важнее.
Сыроежка, ну с if, while и т.д. в одном стиле - это уже перебор я считаю... У каждого оператора свой синтаксис и не надо его портить. Не подумайте что придираюсь, просто я не люблю когда много лишнего
0
|
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
11.08.2011, 00:42 [ТС] | 17 |
Сыроежка, а можно еще подробнее пожалуйста объяснить
0
|
Заблокирован
|
|||||||||||
11.08.2011, 01:13 | 18 | ||||||||||
Чтобы найти объект с наименьшим весом, очевидно, у вас должно быть несколько объектов, среди которых вы будете искать такой объект. Например, это может быть массив объектов. Проблема в том, что у вас два класса, а потому вы не можете объявить массиив ваших объектов, если только не будуте все объекты делать одного класса. Я не знаю, изучали ли вы уже контейнеры, как, например, вектор или нет. если изучали, то проще работать с вектором.
Если иметь дело с массивом, то массив должен быть массивом указателей на ваши объекты, а сами объекты вы создаете с помощью оператора new. Допустим вы хотите создать десять объектов, тогда вы определяете массив указателей на ваш базовый класс Team
Затем в цикле создаете объекты разного типа и заносите указатель на них в этот масиив. У вас два типа объектов. Вы можете случайным образом выбирать, какой тип объекта будет использоваться. Например
1
|
8 / 9 / 1
Регистрация: 30.06.2011
Сообщений: 250
|
|
11.08.2011, 02:21 [ТС] | 19 |
Спасибо, но не серчайте за мою тупость, если я понимаю, то в case я только описываю аргументы класса team
Добавлено через 25 минут спасибо, вроде что-то понял Добавлено через 8 минут Сыроежка еще последний вопрос: тут все ясно, но вот тут немного не уловил, еще раз сможете объяснить, спасибо Вам за объясниния Добавлено через 8 минут по заданию сказано что это функия-друг, я об этом уже писал, а если тогда подружить 2 класса и не париться, то это будет правильно Добавлено через 6 минут необходимо написать функцию-друга, которая выведет информацию о само легком спортсмене в команде
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
11.08.2011, 02:45 | 20 | |||||
1
|
11.08.2011, 02:45 | |
11.08.2011, 02:45 | |
Помогаю со студенческими работами здесь
20
Универсальная функция вывода Функция ввода / вывода Функция вывода маршрута Функция вывода дроби Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |