Форум программистов, компьютерный форум, киберфорум
Наши страницы

Проверка на корректность операции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрицы. Бесконечный цикл. Проверка ввода http://www.cyberforum.ru/cpp-beginners/thread631324.html
В конструкторе класса матриц пользователю предлагается выбрать ввода с клавиатуры или автоматически. При выборе ручного ввода возникает цикл непонятного характера. Вот фото консоли во вложении. ...
C++ Ссылка на ссылку Можно ли говорить, что t это ссылка на ссылку? int y=2; int &q=y; int& t = q; http://www.cyberforum.ru/cpp-beginners/thread631318.html
Программы pascal переписать под c++ C++
Всем доброго времени суток помогите переписать программы под c++ Условие Дано натуральное число n, и действительное число x. Вычислить. program laba3_2; uses crt; var x,s:real;...
C++ Строки, в чём ошибка?
так не работает int main(){ char *str = "ASDc"; str = tolower(str); cout << str; return 0; }
C++ Как свиртуализировать исключения? http://www.cyberforum.ru/cpp-beginners/thread631292.html
Мне очень нравится как реализован перехват исключений в Python и Java: там в блоке catch не надо перечислять все виды исключений, а достаточно типы exception предков. Можно ли так же делать в C++?...
C++ Понижение регистра в строке Всем привет! Не могу понизить регистр в строке. Использовал функции towupper, towlower, не помогло. Мне это нужно для сравнения строк. Пошел другим путем использовал _tcsicmp, _wcsicmp, чтобы... подробнее

Показать сообщение отдельно
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
01.08.2012, 19:54
Цитата Сообщение от Tochka Посмотреть сообщение
const int SUM=1; IVariable sum(IVariable a, IVariable b) { if(a.OperationCorrect(SUM,b.type) return a+b; if(b.OperationCorrect(SUM,a.type) return b+a; return new IErrorSum(); }
Такой вариант не покатит. Объект не являющийся IVariable не сможет вернуть сам себя и себе подобных как IVariable. Можно только IVariable& и const IVariable&. Либо сделать конструктор для IVariable для каждого типа. Это опять нарушение ООП. Принимать IVariable тоже не может.

В общем, походу нет красивого решения, как сделать, чтобы операция a + b возвращала тоже самое, что b + a, если b и a разного типа.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru