|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
Что за перегруженный оператор char* ()?19.10.2010, 21:04. Показов 14603. Ответов 79
Метки нет (Все метки)
Вот синтаксис:
Я порылся в инете, но везде ведётся речь про перегружаемые оператооры, т есть примерно такого вида:
"...Класс такой-то объявляет функцию преобразования char *() (а где её имя? где аргументы? Где возвращаемое значение?) Если эта функция объявлена, вы можете использовать объект класса такого-то везде, где ожидаются данные типа char*. Функция преобразования возвращает адрес строковых данных, которые содержатся в объекте данных ptr" Просто помогите сие изложение осилить, спасибо.
1
|
|||||||||||
| 19.10.2010, 21:04 | |
|
Ответы с готовыми решениями:
79
Класс для работы с матрицами - Что дает перегруженный оператор индексирования?
Перегруженный оператор |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 19.10.2010, 21:14 | |
|
kravam, Собственно действительно переводит преобразование типа в char*. Оператор приведения типа
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||
| 19.10.2010, 21:18 | ||
|
Добавлено через 1 минуту а... все понял, туплю (
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 19.10.2010, 21:21 [ТС] | ||||||
|
А где имя функции и о какой функции идёт речь?
И ещё: зачем там круглые скобки? И почему char* не взято в скобки? Я так типы привожу: Я типы так привожу обычно:
0
|
||||||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|||||||||||
| 19.10.2010, 21:28 | |||||||||||
0
|
|||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 19.10.2010, 21:34 [ТС] | ||||||
|
Я не пойму, это что значит?
А если это объяфление функции, не принимающей никаких аргументов то вообще ничё не понять. Где имя? Где {}?
0
|
||||||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||||||
| 19.10.2010, 21:39 | ||||||
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 19.10.2010, 21:44 | ||||||
|
Еше примерчик.
0
|
||||||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|||||||||||
| 19.10.2010, 21:47 | |||||||||||
|
Lavroff, а вы не знаете чем пробразование вида:
0
|
|||||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
| 19.10.2010, 21:48 [ТС] | |||||||||||
|
ПОосто код ничего не даст, нужны пояснения. Вот, например, если бы меня спросили, что такое
"Это объявление функции. Её имя "functsia". Она не возвращает никакой переменной, а это указывает слово "void" и принимает один аргумент- указатель на переменную типа char. На последнее указывает содержание в круглых скобках" А если бы меня спрсили: а где фигурные скобки? Я бы ответил, чтоони необязательны. Имя функции существует в трёх ипостасях: определении, объявлении и вызове. И фигурные скобки с содержанием функции нужны лишь при её определении, но не при объявлении. И так далее. Вот что подобное можно сказать по
0
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 19.10.2010, 21:50 | |
|
kravam, Приведение к типу char* объекта класса...
Добавлено через 55 секунд KuKu, Тем, что второе поставлено на исключениях + это С++. RTTI вообщем. static_cast<>, dynamic_cast<>, const_cast<>, reinterpret_cast<>
1
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
||||||
| 19.10.2010, 21:52 | ||||||
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 19.10.2010, 21:55 [ТС] | ||
|
Вот они: "...Класс такой-то объявляет функцию преобразования char *() Если эта функция объявлена, вы можете использовать объект класса такого-то везде, где ожидаются данные типа char*. Я же уже спрашивал. Где её имя?
0
|
||
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|||||||||||||||||||||
| 19.10.2010, 22:00 | |||||||||||||||||||||
|
kravam, уже два было примера, где переводится тип MyClass в char или как у Lavroff из Int в double. Приведите весь пример, где вы взяли эту строчку.
0
|
|||||||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 19.10.2010, 22:00 | ||||||
|
kravam, Зачем имя у приведения типа? Такой код вам понятен?
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||||
| 19.10.2010, 22:42 [ТС] | |||||||||||
|
НЕ особо, честно говоря. Если перегружается оператор (), то почему мы не можем заменить его на какой-нибудь другой? Не для практической цели, конечно, но всё равно
...И всё, уже не работает. Я думал, берём список перегружаемых операторов и как хотим их и пишем, а, оказывается, нет. Вот хотя бы с этого начать если.
0
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 19.10.2010, 22:46 | |
|
kravam, Как бы так сказать... У нас operator + бинарный по-большому счету. Не помню есть-ли унарный, все может быть.
А если сначала - то, операторы делятся на две группы - унарные и бинарные. Например бинарные операторы +, -, *, / Унарные - ++, --, разыменование (*), доступ к элементу (->). То, что писал я - так называемый функтор. В данном случае он унарный как видно. Первым и единственным в данном случае параметром ему передается указатель на this.
0
|
|
|
|
||
| 19.10.2010, 22:52 | ||
|
dynamic_cast не кидает исключения, если кастуются указатели, а только возвращает NULL (он же ноль).
1
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 19.10.2010, 22:56 | |
|
Andrew_Lvov, Да. Не совсем то написал. Они безопасны к исключениям, кроме dynamic и reinterpret.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 19.10.2010, 22:56 [ТС] | ||||||
|
Хорошо они не взаимозаменяемы. Остальное понятно вроде. А дальше? Теперь надо как-то Ваш код усложнить и привести к моёму. Вот чё такое char* я не пойму. То есть это указатель на char.
Но вот это?
0
|
||||||
| 19.10.2010, 22:56 | |
|
Помогаю со студенческими работами здесь
20
Перегруженный оператор +
перегруженный оператор << Перегруженный оператор ввода Функции и перегруженный оператор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|