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

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

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

Author24 — интернет-сервис помощи студентам
Привет, как можно реализовать?
Нужно чтобы функция в зависимости от условий возвращала string или double
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2012, 02:17
Ответы с готовыми решениями:

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

Какие значения нужно поставить на подчеркнутые места чтобы функция АА возвращала число 11
Какие значения нужно поставить на подчеркнутые места чтобы функция АА возвращала число 11. int AA...

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

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

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

Добавлено через 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
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
25.12.2012, 02:43 6
Цитата Сообщение от ArtMaster Посмотреть сообщение
Ну вот где-то так?!
И зачем такое необходимо?
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:57  [ТС] 7
ну говорю же нужно в зависимости от условий вернуть или строковую переменную или с точкой
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
25.12.2012, 03:01 8
Цитата Сообщение от ArtMaster Посмотреть сообщение
ну говорю же нужно в зависимости от условий вернуть или строковую переменную или с точкой
Зачем? Не понятна мотивация для написания такого рода издевательства.
0
26 / 24 / 8
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 03:06  [ТС] 9
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
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
25.12.2012, 03:10 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  [ТС] 11
возвращает!
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
25.12.2012, 03:16 12
Цитата Сообщение от ArtMaster Посмотреть сообщение
возвращает!
Зачем? Задайте себе этот вопрос. Вы не назвали не одной причины для этого.
Можете вернуть указатель на void, а потом приводить его к определенному типу. Но опять же получится, что вызывающий код должен знать, значение какого типа возвращено, чтобы верно преобразовать указатель
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.12.2012, 03:19 13
борьба с мельницами
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
25.12.2012, 03:24 14
Посмотрите в сторону boost'a (any, variant)
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
29.12.2012, 09:34 15
В зависимости от условий - это как-то так?
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
29.12.2012, 12:43 16
Цитата Сообщение от 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
29.12.2012, 12:48 17
Будет интересное отображение на экране
C++
1
cout<<"sParam*= "<<Concatinate(sParam, char(4))<<endl;
0
29.12.2012, 12:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2012, 12:48
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru