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

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

Войти
Регистрация
Восстановить пароль
 
Y4enik
2 / 2 / 0
Регистрация: 22.03.2015
Сообщений: 32
#1

Перегрузка операторов: "operator #" - C++

20.07.2016, 09:29. Просмотров 146. Ответов 6
Метки нет (Все метки)

Здравствуйте, подскажите пожалуйста. перегрузка оператора выглядит: void operator # (int i)
В учебнике Шилдт перед словом operator ставится либо * либо &. Подскажите, для чего?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2016, 09:29     Перегрузка операторов: "operator #"
Посмотрите здесь:

C++ Лабораторная на тему "Перегрузка операторов"
C++ Класс "Дата", перегрузка операторов
Перегрузка внешней функции операции "operator=" C++
C++ Перегрузка операторов в классе "Последовательность целых чисел"
C++ Класс "Точка", перегрузка операторов
Перезагрузка операторов "неоднозначный operator" C++
Перегрузка операторов: Можно ли вынести "тело" оператора (расчеты) из H в CPP? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
notAll
311 / 84 / 19
Регистрация: 27.05.2016
Сообщений: 214
Завершенные тесты: 2
20.07.2016, 10:19     Перегрузка операторов: "operator #" #2
Y4enik, видимо в зависимости от ситуации. &, например, должны возвращать префиксные операторы, оператор *, а указатель(*) - оператор стрелка(->).
shilko2013
 Аватар для shilko2013
239 / 216 / 116
Регистрация: 02.04.2016
Сообщений: 822
Завершенные тесты: 1
20.07.2016, 10:37     Перегрузка операторов: "operator #" #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Y4enik, Я читал Шилдта и там написано:
"тип имя_класса::operator#(список_аргументов)
{
операция_над_классом
}
"Здесь перегружаемый оператор обозначается символом #
Читайте статью до конца.
Y4enik
2 / 2 / 0
Регистрация: 22.03.2015
Сообщений: 32
20.07.2016, 12:06  [ТС]     Перегрузка операторов: "operator #" #4
C++ (Qt)
1
2
3
4
5
6
гЂЂгЂЂvoid *operator new(size_t size);
гЂЂгЂЂvoid *operator new[](size_t size);
гЂЂгЂЂvoid operator delete(void *p);
гЂЂгЂЂvoid operator delete[](void *p);
гЂЂгЂЂvoid show();
};
где-то перед operator ставится *, а где-то нет
shilko2013
 Аватар для shilko2013
239 / 216 / 116
Регистрация: 02.04.2016
Сообщений: 822
Завершенные тесты: 1
20.07.2016, 12:14     Перегрузка операторов: "operator #" #5

void * - функция возвращает указатель.
void - функция ничего не возвращает.

Добавлено через 10 секунд
Прочтите про указатели темы...
Y4enik
2 / 2 / 0
Регистрация: 22.03.2015
Сообщений: 32
20.07.2016, 12:16  [ТС]     Перегрузка операторов: "operator #" #6
void возвращает?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2016, 12:22     Перегрузка операторов: "operator #"
Еще ссылки по теме:

Перегрузка операторов для класса "Матрица" C++
Перегрузка операторов "+" и "-" и бинарных C++
C++ Класс "динамический массив", перегрузка операторов +, =
C++ Класс "Прямая". Перегрузка операторов
C++ Перегрузка операторов ==, !=, <, > для класса "Дробь"

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

Или воспользуйтесь поиском по форуму:
shilko2013
 Аватар для shilko2013
239 / 216 / 116
Регистрация: 02.04.2016
Сообщений: 822
Завершенные тесты: 1
20.07.2016, 12:22     Перегрузка операторов: "operator #" #7
void (C++)

Если ключевое слово void указывает возвращаемый тип функции, оно означает, что данная функция не возвращает никакого значения. Если оно используется для списка параметров функции, оно означает, что функция не принимает никаких параметров. Если оно используется в объявлении указателя, оно означает, что указатель является "универсальным".
Если указатель имеет тип void *, он может указывать на любую переменную, объявленную без указания ключевого слова const или volatile. Указатель с ключевым словом void не может быть разыменован, кроме как путем приведения к другому типу. Указатель с ключевым словом void может быть преобразован в любой другой тип указателя на данные.
В C++ указатель с ключевым словом void может указывать на функцию, но не на класса.
Объявить переменную типа void невозможно.
Yandex
Объявления
20.07.2016, 12:22     Перегрузка операторов: "operator #"
Ответ Создать тему
Опции темы

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