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

Создать тип данных своего размера - C++

Восстановить пароль Регистрация
 
supra7sky
 Аватар для supra7sky
15 / 15 / 1
Регистрация: 07.02.2013
Сообщений: 123
02.11.2013, 03:47     Создать тип данных своего размера #1
Нужно создать тип для хранение значения от 0 до 50 005 000 с хвостом
записать в него из потока число, выполнить операции, вывести.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
02.11.2013, 13:03     Создать тип данных своего размера #2
Как то так наверное.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class MyType
{
private:
           unsigned long var;
public:
           MyType(unsigned long vvar=0)
           {
               if(vvar>=0  && vvar<=50005000) var=vvar;
               else cerr<<"max distancion in 0 50005000";
            }
           MyType & operator=(MyType & t);
           MyType & operator+(MyType & t);
           friend ostream & operator<<(ostream & out,MyType & t);
           // и так далее
};
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.11.2013, 13:44     Создать тип данных своего размера #3
egor2116, лучше кидать исключение. Т.к. вывод сообщения можно проигнорить, объект тем не менее будет создан, а var при этом не проинициализирован. Операторы должны принимать константную ссылку, а оператор сложения при этом должен возвращать значение (а не ссылку) и должен быть const.
C++
1
MyType operator+(const MyType & t) const;
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
02.11.2013, 14:04     Создать тип данных своего размера #4
Да согласен. Пишу с телефона на паре по отвратительной социологии.
Yandex
Объявления
02.11.2013, 14:04     Создать тип данных своего размера
Ответ Создать тему
Опции темы

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