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

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

Восстановить пароль Регистрация
 
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:17     Нужно чтобы функция в зависимости от условий возвращала string или double #1
Привет, как можно реализовать?
Нужно чтобы функция в зависимости от условий возвращала string или double
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 02:17     Нужно чтобы функция в зависимости от условий возвращала string или double
Посмотрите здесь:

C++ Господа, нужно выбрать double-архив из строки string(С++/С)
Что нужно изменить ,чтобы функция с методом Гаусса возвращала массив? C++
C++ Как сделать так, чтобы функция rand() возвращала разные значения
Сделать так, чтобы функция возвращала параметр C++
C++ как сделать чтобы функция возвращала массив?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,601
Записей в блоге: 17
25.12.2012, 02:22     Нужно чтобы функция в зависимости от условий возвращала string или double #2
Красиво никак...
Разные задачи - значит должны быть разные ф-ции.
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:29  [ТС]     Нужно чтобы функция в зависимости от условий возвращала string или double #3
а можно через template?
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,601
Записей в блоге: 17
25.12.2012, 02:30     Нужно чтобы функция в зависимости от условий возвращала string или double #4
Говорю задача не правильно поставленная
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:38  [ТС]     Нужно чтобы функция в зависимости от условий возвращала string или double #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;
}
Ну вот где-то так?!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,889
Записей в блоге: 2
Завершенные тесты: 1
25.12.2012, 02:43     Нужно чтобы функция в зависимости от условий возвращала string или double #6
Цитата Сообщение от ArtMaster Посмотреть сообщение
Ну вот где-то так?!
И зачем такое необходимо?
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 02:57  [ТС]     Нужно чтобы функция в зависимости от условий возвращала string или double #7
ну говорю же нужно в зависимости от условий вернуть или строковую переменную или с точкой
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,889
Записей в блоге: 2
Завершенные тесты: 1
25.12.2012, 03:01     Нужно чтобы функция в зависимости от условий возвращала string или double #8
Цитата Сообщение от ArtMaster Посмотреть сообщение
ну говорю же нужно в зависимости от условий вернуть или строковую переменную или с точкой
Зачем? Не понятна мотивация для написания такого рода издевательства.
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 03:06  [ТС]     Нужно чтобы функция в зависимости от условий возвращала string или double #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
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,889
Записей в блоге: 2
Завершенные тесты: 1
25.12.2012, 03:10     Нужно чтобы функция в зависимости от условий возвращала string или double #10
судя по
Цитата Сообщение от ArtMaster Посмотреть сообщение
Если type= string то выводить expr1, если нет то expr2
получается
C++
1
2
3
4
if(type=="string")
   cout<<expr1;
else
   cout<<expr2;
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
25.12.2012, 03:14  [ТС]     Нужно чтобы функция в зависимости от условий возвращала string или double #11
возвращает!
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,889
Записей в блоге: 2
Завершенные тесты: 1
25.12.2012, 03:16     Нужно чтобы функция в зависимости от условий возвращала string или double #12
Цитата Сообщение от ArtMaster Посмотреть сообщение
возвращает!
Зачем? Задайте себе этот вопрос. Вы не назвали не одной причины для этого.
Можете вернуть указатель на void, а потом приводить его к определенному типу. Но опять же получится, что вызывающий код должен знать, значение какого типа возвращено, чтобы верно преобразовать указатель
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,601
Записей в блоге: 17
25.12.2012, 03:19     Нужно чтобы функция в зависимости от условий возвращала string или double #13
борьба с мельницами
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11835 / 6814 / 769
Регистрация: 27.09.2012
Сообщений: 16,889
Записей в блоге: 2
Завершенные тесты: 1
25.12.2012, 03:24     Нужно чтобы функция в зависимости от условий возвращала string или double #14
Посмотрите в сторону boost'a (any, variant)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
29.12.2012, 09:34     Нужно чтобы функция в зависимости от условий возвращала string или double #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;
}
Без явной перегрузки (чтобы в коде была только одна версия функции) мне не представляется возможным.
-=ЮрА=-
Заблокирован
Автор FAQ
29.12.2012, 12:43     Нужно чтобы функция в зависимости от условий возвращала string или double #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  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2012, 12:48     Нужно чтобы функция в зависимости от условий возвращала string или double
Еще ссылки по теме:

Работа с классами (сделать, чтобы функция возвращала массив, получаемый суммированием двух входных) C++
Что нужно знать, чтобы создать класс String? C++
Сделать так, чтобы функция возвращала как целые, так и дробные значения C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
29.12.2012, 12:48     Нужно чтобы функция в зависимости от условий возвращала string или double #17
Будет интересное отображение на экране
C++
1
cout<<"sParam*= "<<Concatinate(sParam, char(4))<<endl;
Yandex
Объявления
29.12.2012, 12:48     Нужно чтобы функция в зависимости от условий возвращала string или double
Ответ Создать тему
Опции темы

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