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

Реализовать класс var - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать слова последовательности, которые отличны от первого и без повторяющихся букв http://www.cyberforum.ru/cpp-beginners/thread1218495.html
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не менее одного пробела, за последним словом - точка. Напечатать те слова последовательности, которые отличны от первого слова и удовлетворяют следующему свойству: в слове нет повторяюихся букв
C++ Найти минимальное количество топлива в литрах, необходимое для достижения заданной точки Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ Наш джип находится в пустыне и должен достичь точки, находящейся на расстоянии N километров от него. Рельеф сложный, машина старая, и похоже, что топливо вытекает, так что на каждый пройденный машиной километр тратится один литр топлива. В джипе есть канистры, общая ёмкость которых вместе с бензобаком составляет M литров (M < N). В... http://www.cyberforum.ru/cpp-beginners/thread1218493.html
C++ И снова работа со строками
Всем привет! У меня есть поле ввода и кнопка. Если поле не заполненное, то по нажатию кнопку вылезет сообщение "M", если в поле что то записано - сообщение "N". Очень важно для меня, чтобы строчка была TCHAR, никакие другие строчки мне использовать нельзя. TCHAR str; GetDlgItemText(ID_EDIT, str, 10) if(str == /*пустой строке*/) { MessageBox(_T("Поле пустое")); } else ...
Равновеликие прямоугольники C++
Привет ребята ) нужна помощь с заданием по с++ Найти все равновеликие прямоугольники, стороны которых выражены целыми числами a и b, а площадь ровна S ( a и b принадлежат интервалу от 1 до 20, а S вводится с клавиатуры.
C++ Делители натурального числа http://www.cyberforum.ru/cpp-beginners/thread1218477.html
Привет всем) завтра экзамен ... не могли бы помочь мне сделать задание? или хотя бы натолкнуть на мысль. буду благодарен Дано натуральное число. Найти сумму и количество нечетных делителей натурального числа
C++ Странная ошибка в алгоритме заполнения массива из файла Алгоритм приведенный ниже, на самом деле является частью функции, которая работает некорректно. По этому я решил переделать алгоритм в консольный вариант, что бы протестировать (так как я не был уверен что баг именно в этой функции, а не в другой). Файл map1.map содержит числа, 0 и 1. Сама программа при выполнении выводит только первые 13 строк массива (причем в первой строке последний символ... подробнее

Показать сообщение отдельно
Tsyklop
4 / 4 / 2
Регистрация: 01.01.2014
Сообщений: 301

Реализовать класс var - C++

27.06.2014, 18:29. Просмотров 1503. Ответов 6
Метки (Все метки)

1. Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса способны хранить в себе значения следующих типов: int, double, String (строка – уже готовый класс).
Например :
C++
1
2
3
4
5
6
7
8
9
10
void main()
{
var a = 15;
var b = “Hello”;
var c = 7.8;
var d =50;
b = a + d;
b.Show();       // Выведет 65
if (a == b) cout << “Equal\n”; else cout << “Not Equal\n”;
}
Для класса var необходимо перегрузить арифметические операторы: +, -, *, /, +=, -=, *=, /=
И операторы сравнения: <, >, <=, >=, ==, !=
(Вся перегрузка осуществляется как функции-члены класса var)

В переменной типа var в любой момент времени может храниться только одно значение (или int, или double, или String).

При перегрузке операторов учитывать следующее: если в операции типы значений двух операндов типа var разные, то необходимо приводить (конвертировать) значение из второго операнда к типу значения первого операнда и только после этого выполнять операцию. (При этом значение (и тип) второго операнда в самом объекте var не меняется)
Например:
C++
1
2
3
4
5
        var a = 10, b =120”, c;
        c = a + b;
        c.Show();       // Выведет 130
            c = b + a;
            c.Show();       // Выведет “12010”
Для типа Строка операция * должна возвращать новую строку, состоящую только из символов первой строки, которые есть во второй строке, например:
C++
1
2
3
            var a = “Microsoft”, b = “Windows”, c;
            c = a * b;
            c.Show();       // Выведет “ioso”
Для типа Строка операция / должна возвращать новую строку, состоящую из символов первой строки, которых нет во второй строке, например:
C++
1
2
3
var a = “Microsoft”, b = “Windows”, c;
            c = a / b;
            c.Show();       // Выведет “Mcrft”
Аналогично для Строки *= и /=

Добавить в класс var преобразования к типам: int, double, char*
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru