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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
#1

Перезагрузка функции - C++

18.10.2013, 11:54. Просмотров 1374. Ответов 31
Метки нет (Все метки)

Используя перегрузку функций, написать
программу определения знака переменных разного типа.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 11:54     Перезагрузка функции
Посмотрите здесь:

Переопределение или перезагрузка функции - C++
у меня есть класс комплексных чисел. И как можно определить функцию sqrt() что бы она работала с моим классом тоже. Сразу говорю я не хочу...

перезагрузка >> - C++
Учусь по книге Дейтела. Дошел до перезагрузки >> и <<. И мне интересно зачем в этом примере ignore(); Может кто-то объяснить зачем он в...

Перезагрузка - C++
Здравствуйте! Получил вот такую лабу по перезагрузке. Класс: Множество целых чисел. Поля: Количество элементов в множестве, указатель...

перезагрузка operator + - C++
есть самописный класс String; в нем определены операторы + для, String + String String + char String + *char для вывода в поток и...

Перезагрузка operator - - C++
Есть одна задача : Одномерный массив а и b. Класс одномерный массив. Реализовать для объектов данного класса перезагрузку операции -...

Перезагрузка операций - C++
Помогите выполнить задание. "Переопределить операцию для класса point таким образом, чтобы применение данной операции к экземпляру...

Перезагрузка operator == - C++
Тренируюсь и пишу клас комплексных чисел. Проблема с перезагнрузкой оператора сравнения да и другие перезагрузки не хотят использоваться....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
18.10.2013, 13:27  [ТС]     Перезагрузка функции #16
Цитата Сообщение от alsav22 Посмотреть сообщение
Всё, как раз, неправильно тогда.
Уже понял...
Так, при компиляции выдаёт две цифры в столбик. Не зависимо от знака, выдаёт положительные числа. Препод сказал переделывать, окей.
Как правильно написать? Тот вариант с единицами был верный?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.10.2013, 13:32     Перезагрузка функции #17
Цитата Сообщение от Vlad_fractal Посмотреть сообщение
Тот вариант с единицами был верный?
В общем, да.

Добавлено через 3 минуты
Добавьте только обработку возвращаемого функциями результата:
C++
1
if (a(n) == 1) cout << "Число положительное" << endl;
и т.д.
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
18.10.2013, 13:34  [ТС]     Перезагрузка функции #18
Добавлено через 50 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Добавьте только обработку возвращаемого функциями результата:
Ага, понял, спасибо.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.10.2013, 13:46     Перезагрузка функции #19
А теперь главное: тут нет перегрузки функций. Функции должны быть с одним именем.

Добавлено через 2 минуты
И лучше возвращать булево значение (раз проверка на знак).
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.10.2013, 13:54     Перезагрузка функции #20
Цитата Сообщение от alsav22 Посмотреть сообщение
И лучше возвращать булево значение (раз проверка на знак).
в классическом (математическом) исполнении всё таки должно возвращаться три значения (-1,0,+1) для отрицательных, нуля и положительных чисел соответственно.
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
18.10.2013, 14:04     Перезагрузка функции #21
Цитата Сообщение от alsav22 Посмотреть сообщение
И лучше возвращать булево значение (раз проверка на знак).
Кстати да, Tulosba, прав -
C++
1
((int)(bool)-1) == ((int)(bool)1) )
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.10.2013, 14:06     Перезагрузка функции #22
Vlad_fractal, исправляюсь: лучше возвращать три значения (и не нужно во второй функции возвращать float, можно тоже int).
Петррр
5946 / 3383 / 336
Регистрация: 28.10.2010
Сообщений: 5,927
21.10.2013, 11:18     Перезагрузка функции #23
Цитата Сообщение от Tulosba Посмотреть сообщение
Петррр, в чем сакральный смысл использования signed char?
signed - потому что char может быть беззнаковым.
char - потому что он меньше чем int.
castaway
21.10.2013, 12:19
  #24

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
Кстати да, Tulosba, прав -
C++
1
((int)(bool)-1) == ((int)(bool)1) )
о_О ?

Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.10.2013, 14:43     Перезагрузка функции #25
Цитата Сообщение от Петррр Посмотреть сообщение
char - потому что он меньше чем int.
Вся разница будет в использовании регистра al (для signed char) вместо eax (для int). А учитывая то, что размер "слова" на современных >= 32bit, выигрыша не будет никакого, только писанины больше.
P.S. А если вдруг приспичит вывести результат на консоль - Вас ждет сюрприз.

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
о_О ?
штоа?

castaway
21.10.2013, 15:32
  #26

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
штоа?
Что это за бред?

Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.10.2013, 15:47     Перезагрузка функции #27
castaway, что именно? приведение була к инту?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
21.10.2013, 15:51     Перезагрузка функции #28
Tulosba, целиком всё условие.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.10.2013, 15:55     Перезагрузка функции #29
castaway, слева и справа будет единица. Равенство выполняется. В чем бред-то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 15:57     Перезагрузка функции
Еще ссылки по теме:

Перезагрузка операций С++ - C++
Всем привет! Прошу помощи в решении задания по перезагрузке операций в С++ Само задание: Создать класс Time для работы с...

Перезагрузка операций - C++
Всем привет, проблема в следующем... Нужно решить задачку с книги, перезагрузить оператор '+' так что бы в операции s1= s2+s3; не...

Перезагрузка операторов! - C++
Добрый вечер, умные люди, помогите пожалуйста сделать программу нужно реализовать класс абстрактного типа данных АДТ − стек....

Перезагрузка компа - C++
Какие команды нужно забить в С++ чтобы по истечении какого то либо времени комп перезагружался=) ?

перезагрузка операторов - C++
скажите разницу между base operator +(base &amp;o) base &amp;operator +(base &amp;o) и как перезагрузить префиксную форму ++р?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
21.10.2013, 15:57     Перезагрузка функции #30
Tulosba, хотя бы в том, что в условии константы. В чем смысл приведения к int ?
Yandex
Объявления
21.10.2013, 15:57     Перезагрузка функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru