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

Преобразование шаблона к string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка LINK1561 http://www.cyberforum.ru/cpp-beginners/thread1798868.html
Всем доброго времени суток! впервые на форуме, да и вообще на форумах, извините, если создал лишнюю тему из-за лени искать необходимую мне информацию, устал)) помогите пожалуйста с этой наверное одной из популярных проблем) создаю небольшую программку в Windows Forms на С++, состоящая из трех richTextBox'ов, которые автоматически считают по формулам один из неизвестных richTextBox'ов. В свойствах...
C++ В пользовательском классе "Матрица" реализовать функцию-член для вычисления определителя Прива всем. Такой вопрос. Написал класс "Матрица". Хочу добавить метод для вычисления определителя. Написал функцию ("не для класса") (притом работает идеально) и попробовал добавить её в класс(ну записал в public прототип, изменил аргументы, объявил метод) но у меня не вышло ((( код не работает. Может кто подскажет в чем проблема. //Matrix.h #pragma once #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread1798865.html
Порядок вызова конструкторов при присваивании объектов одного класса C++
Имеется код ниже. Wein dres = rom; Где dres и rom объекты класса Wein. Класс Wein имеет все конструкторы по умолчанию. Rom определен выше, это не имеет разницы. Расскажите, при подобном операторе какие конструкторы и деструкторы вызываются явно и не явно.
C++: IDE, инструментарий Существует ли официальная Visual Studio он-лайн?
Добрый день! Подскажите, пожалуйста, существует ли официальный компилятор Visual Studio он-лайн? Если да-то как в нём работать? Нашёл сайт visualstudioonline.com, но не знаю, что делать дальше , чтоб компилятор заработал.
C++ Выход из цикла из консоли http://www.cyberforum.ru/cpp-beginners/thread1798840.html
В консольном приложении пользователь запускает цикл, выход из которого возможен только по инициативе пользователя. Как реализовать? При нажатии любой клавиши, или при нажатии определенной, напр. Enter.
C++ Вектора. Их инициализация и использование в ветвлениях Добрый вечер. Подскажите, как можно решить 2 появившиеся проблемы 1)Строка 10 "vector <char> a(n, "I");". Инициализация символьного вектора. Не принимает размер вектора в виде int. Это ошибка библиотеки, или я не понимаю, как создать вектор длины n и инициализировать его символами I? 2)Строка 15 "for (int j = l(i); j < 8; j++)". "Ошибка : вызов объекта типа класса без соответствующей функции... подробнее

Показать сообщение отдельно
puma3085
38 / 1 / 0
Регистрация: 27.03.2014
Сообщений: 38

Преобразование шаблона к string - C++

26.08.2016, 02:27. Просмотров 137. Ответов 1
Метки (Все метки)

Доброго времени суток.
Возник такой вопрос. Пусть есть три переменные:
C++
1
2
3
int a = 1;
std::string s = "mama";
myClass d(3.14);
При этом myClass имеет следующую реализацию.
C++
1
2
3
4
5
6
7
8
class myClass{
private:
    double d;
public:
    myClass(double d1){ d = d1; }
    ~myClass(){}
    string toString(){ return std::to_string(d); }
};
Задача: написать функцию, которой передается любая из этих переменных, а возвращается строка со значением переменной. Так понимаю надо использовать шаблоны. В моем представлении: программа должна сначала пытаться вызвать функцию toString() от передаваемого ей объекта, если не получилось, то попробовать функцию std::to_string(), если она не получилась, то просто преобразовать объект к строке, а иначе вернуть пустую строку.
Попробовал я так реализовать, но что-то не получилось. Подскажите, пожалуйста, как реализовать мой код правильно, либо подкиньте идею для реализации. Вот мой код:
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
template<typename t>
string toStr(t arg)
{
    string res = "";
    try{
        res = arg.toString();
        return res;
    }
    catch (exception e){}
    try{
        res = std::to_string(arg);
        return res;
    }
    catch (exception e){}
    try{ 
        res += arg;
        return res;
    }
    catch (exception e)
    {
        //cout << e.what << endl;
    }
    return res; 
}
не судите строго, только недавно изучаю с++, до этого писал на java.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru