Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74

Нужно чтобы функция в зависимости от условий возвращала string или double

25.12.2012, 02:17. Показов 1531. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, как можно реализовать?
Нужно чтобы функция в зависимости от условий возвращала string или double
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.12.2012, 02:17
Ответы с готовыми решениями:

Что нужно изменить ,чтобы функция с методом Гаусса возвращала массив?
Вот пример кода: double gaus(int n, double c, double d) { int k,k1,kn,i,j; vector<double> t; double temp; for...

Какие значения нужно поставить на подчеркнутые места чтобы функция АА возвращала число 11
Какие значения нужно поставить на подчеркнутые места чтобы функция АА возвращала число 11. int AA () { int Man=0; for(int i=__;...

Нужно, чтобы функция в ячейке возвращала пустое значение, которое отображалось бы на графике разрывом, а не 0
Суть такая. Есть данные по сотням объектов, эти данные находятся в листе базы данных. Я сделал на другом листе так, чтобы я мог в одной...

16
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 02:22
Красиво никак...
Разные задачи - значит должны быть разные ф-ции.
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:29  [ТС]
а можно через template?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 02:30
Говорю задача не правильно поставленная
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:38  [ТС]
Спасибо)

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
string a="0";
double b=1;
 
fun(){
if(a=='0') return a;
if(b==1) return b;
}
Ну вот где-то так?!
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.12.2012, 02:43
Цитата Сообщение от ArtMaster Посмотреть сообщение
Ну вот где-то так?!
И зачем такое необходимо?
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:57  [ТС]
ну говорю же нужно в зависимости от условий вернуть или строковую переменную или с точкой
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.12.2012, 03:01
Цитата Сообщение от ArtMaster Посмотреть сообщение
ну говорю же нужно в зависимости от условий вернуть или строковую переменную или с точкой
Зачем? Не понятна мотивация для написания такого рода издевательства.
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 03:06  [ТС]
C++
1
2
3
4
5
6
7
8
class var{
public:
    string name;
    string type;
    string expr1;
    double expr2;
        /*Тут функция*/
};
Если type= string то выводить expr1, если нет то expr2
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.12.2012, 03:10
судя по
Цитата Сообщение от ArtMaster Посмотреть сообщение
Если type= string то выводить expr1, если нет то expr2
получается
C++
1
2
3
4
if(type=="string")
   cout<<expr1;
else
   cout<<expr2;
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 03:14  [ТС]
возвращает!
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.12.2012, 03:16
Цитата Сообщение от ArtMaster Посмотреть сообщение
возвращает!
Зачем? Задайте себе этот вопрос. Вы не назвали не одной причины для этого.
Можете вернуть указатель на void, а потом приводить его к определенному типу. Но опять же получится, что вызывающий код должен знать, значение какого типа возвращено, чтобы верно преобразовать указатель
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 03:19
борьба с мельницами
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
25.12.2012, 03:24
Посмотрите в сторону boost'a (any, variant)
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
29.12.2012, 09:34
В зависимости от условий - это как-то так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
 
class StringRet { } string_ret;
class IntRet { } int_ret;
 
std::string func(StringRet)
{
    return "Hello";
}
 
int func(IntRet)
{
    return 42;
}
 
int main()
{
    std::cout << func(string_ret) << std::endl;
    std::cout << func(int_ret) << std::endl;
    
    return 0;
}
Без явной перегрузки (чтобы в коде была только одна версия функции) мне не представляется возможным.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
29.12.2012, 12:43
Цитата Сообщение от ArtMaster Посмотреть сообщение
Привет, как можно реализовать?
Нужно чтобы функция в зависимости от условий возвращала string или double
Цитата Сообщение от ArtMaster Посмотреть сообщение
а можно через template?
в принципе попробуй использовать перегрузку шаблонов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <string>
#include <iostream>
using namespace std;
 
template <class T>
string Concatinate(string param, T add)
{
    return param + add;
}
 
template <class T>
double Concatinate(double param, T add)
{
    return param + add;
}
 
int main()
{
    string sParam = "test";
    double dParam = 7;
    cout<<"sParam = "<<sParam<<endl;
    cout<<"dParam = "<<dParam<<endl;
    cout<<"\ttemplate Concatinate"<<endl;
    cout<<"sParam = "<<Concatinate(sParam, " of program")<<endl;
    cout<<"dParam = "<<Concatinate(dParam, 4)<<endl;
    return 0;
}
Миниатюры
Нужно чтобы функция в зависимости от условий возвращала string или double  
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
29.12.2012, 12:48
Будет интересное отображение на экране
C++
1
cout<<"sParam*= "<<Concatinate(sParam, char(4))<<endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.12.2012, 12:48
Помогаю со студенческими работами здесь

Нужно чтобы функция <EM>MouseDrag</EM> возвращала <STRONG>ВСЕ</STRONG> значения координат курсора
Можно ли сделать так, чтобы функция &lt;EM&gt;MouseDrag&lt;/EM&gt; возвращала &lt;STRONG&gt;ВСЕ&lt;/STRONG&gt; значения координат курсора, хотя бы при средней...

Как сделать, чтобы функция "или" возвращала заданное мной значение
Возможно ли, чтобы функция &quot;или&quot; возвращала, заданное мной значение? Мне нужно, чтобы она сравнивала ячейки по параметрам, и при совпадении...

Как преобразовать string в int или double, чтобы узнать счастливый ли билет?
помогите пожалуйста исправить не могу понять,как преобразовать тут string в int или double, чтобы узнать счастливый ли билет public...

Как сделать чтобы функция не возвращала ноль
У меня есть функция, которая ищет индекс элемента в списке. Соответственно я инициализирую переменную которая возвращает индекс нулём,...

Сделать так, чтобы функция возвращала параметр
В общем, есть 3 матрицы, выведение их на экран и перемножение, сделанное через класс. Функции mult1 и mult2 умножают и выводят сразу на...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru