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

Преобразование типов данных в классах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread229228.html
Нужна небольшая помощь в этой программе, тут есть ошибка и нужно соединить их в 1 если не сложно помогите пожалуйста! 1. Найти сумму отрицательных элементов массива 2. Найти произведение элементов массива, расположенных между максимальным и минимальным элементами. 3.Упорядочить элементы массива по возрастанию 1. #include<iostream> #include<ctime> using namespace std;
C++ С чего начать изучение с++ Посоветуйте с чего начать изучение с++. В этом деле нуб если не считать html и css.Цель в дальнейшем программировать под Android. http://www.cyberforum.ru/cpp-beginners/thread229225.html
Шахматная доска Turbo C++ C++
Нужно нарисовать и закрасить. Вот нарисовал, но как закрасить клетки через раз? #include<graphics.h> #include<conio.h> int a,b,c, N=8, x1=190, y1=100,x2=370, y2=280; float x,y,h; void main () {
Ввод данных с клавиатуры. char C++
Как считать нажатую клавишу и сохранить в char? в паскале это было примерно так: c:=readkey; а как в с\с++?
C++ C++ for Dos (Структуры, Файлы, Графика) http://www.cyberforum.ru/cpp-beginners/thread229193.html
Структуры 1. Среди работников данного предприятия найти тех, чья зарплата за месяц ниже средней по предприятию; а также вывести на экран список тех, кто проработал на предприятии более 10 лет, с указанием их фамилии, зарплаты, стажа работы и должности. Файлы 2. Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Из файла f получить...
C++ Как сравнить сумму элементов массива? нужно сравнить сумму элементов массива, ввод при помощи for осуществляется( подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
15.01.2011, 18:41     Преобразование типов данных в классах
можно сделать шаблонный конструктор, и все стандартные типы будут преобразовываться
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class T
{
    int a;
public:
    template <typename R>
    explicit T(const R& buffer)
    {
        a = static_cast<int>(buffer);
    }
    int get_a() const
    {
        return a;
    }
};
 
int main()
{
    T object(5.4);
    double a = static_cast<double>(object.get_a());
    return 0;
}
а если обратно, то можно просто через метод-аксессор получить значение и привести его к типу какой надо. Я думаю это самый универсальный способ
 
Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru