|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
Функции, возвращаемый тип24.06.2012, 20:01. Показов 5842. Ответов 20
Метки нет (Все метки)
Как сделать так, что бы функция возвращала разный тип данных, в зависимости от некой глобальной переменной?
Например, если эта переменная == 1, то вернуть A, если 2 то вернуть B
0
|
|
| 24.06.2012, 20:01 | |
|
Ответы с готовыми решениями:
20
Перегруженные функции. Возвращаемый тип
Возвращаемый тип по умолчанию |
|
Мастер кустарных методов
232 / 227 / 17
Регистрация: 09.11.2010
Сообщений: 680
|
|
| 24.06.2012, 20:03 | |
|
Прочитайте о структурах.
0
|
|
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
| 24.06.2012, 21:03 [ТС] | |
|
LEQADA, ваш ответ ровным счетом ничего не дал
Добавлено через 5 минут Есть еще знатоки?
0
|
|
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
|
| 24.06.2012, 21:37 | |
|
Покопай в сторону union, либо возвращай из функции тип void*, а потом преобразовывай в указатель на необходимый тип
0
|
|
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
| 24.06.2012, 21:48 [ТС] | |
|
RGentum, дело в том, что в классе и так хранится void*, который ищу как легко преобразовывать к нужному объекту
Насчет union сейчас посмотрю
0
|
|
|
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
|
|
| 24.06.2012, 21:53 | |
|
А если шаблоны функций использовать?
1
|
|
|
157 / 157 / 27
Регистрация: 29.03.2012
Сообщений: 418
|
|
| 24.06.2012, 21:55 | |
|
шаблоны тебе в помощь)
0
|
|
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
|||
| 24.06.2012, 21:58 | |||
|
что значит
Добавлено через 1 минуту попробуй объяснить и показать поконкретнее Добавлено через 1 минуту
0
|
|||
|
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
|
|||||||
| 24.06.2012, 22:04 | |||||||
Сообщение было отмечено как решение
Решение
3
|
|||||||
|
|
|||||||||||
| 24.06.2012, 22:11 | |||||||||||
|
Пример:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
|
| 24.06.2012, 22:29 | |
|
g-h, В таком случае, использование таких шаблонов имеет очень узкое применение. Только в случаях с одним и тем же набором действий в функции для разных типов, а также при правильном определении операторов, в данном случае "+". То есть это применимо, но далеко не всегда... Потому и интересно было узнать о конкретной задаче.
Видимо в данном вопросе это не подходит.
1
|
|
|
|
|||||||||||
| 24.06.2012, 23:11 | |||||||||||
|
Ну а перегрузка/специализация для чего?
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
||
| 24.06.2012, 23:19 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
|||||||
| 24.06.2012, 23:36 | |||||||
|
Я надеюсь, что автор всё же объяснит точнее задачу и в каком виде должна вестись работа с типами...
Добавлено через 5 минут
![]() Добавлено через 54 секунды Выравнивание только немного сбилось. Добавлено через 7 минут А вот информация с родного сайта
0
|
|||||||
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
|
| 25.06.2012, 00:26 | |
|
Так же, как любая другая функция. Единственное, трудности может вызвать объединение управляемого и неуправляемого кода. В общем случае лучше использовать void* - кода мало, и ошибок мало. Но раз автор уточнять ничего не хочет, видимо никакого толку не будет.
Добавлено через 11 минут Еще, по-моему, в библиотеке boost есть тип variant для этого. Но опять же, это целая БИБЛИОТЕКА кода, поэтому её использовать нужно только если проект большой, а для курсовой конечно же глупо ![]() Добавлено через 1 минуту пока не увижу более точной задачи от автора, и немножко кода, больше нет особого желания перечислять.
0
|
|
|
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
|
||
| 25.06.2012, 00:39 | ||
|
0
|
||
|
|
|
| 25.06.2012, 00:43 | |
|
А знаешь что такое код?
0
|
|
| 25.06.2012, 00:43 | |
|
Помогаю со студенческими работами здесь
20
Перегрузка оператора - возвращаемый тип
что за возвращаемый тип, и как работает функция? Возвращаемый тип шаблона через std::common_type
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|