7 / 7 / 2
Регистрация: 12.08.2012
Сообщений: 96
1

Перегрузка операции "<="

25.01.2016, 19:09. Показов 932. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, есть 2 класса: MEllipse и CTriangle, они наследники абстрактного класса CGraphicsObject.
Допустим, в main создаётся по экземпляру каждого из первых двух классов. При создании в конструкторе инициализируется площадь (поле унаследованное от CGraphicsObject).

Как в CGraphicsObject перегрузить оператор "<=", чтобы можно было им сравнивать объекты первых двух классов по площади?

Написал в СGraphicsObject.cpp:
C++
1
bool CGraphicsObject::operator<= (const CGraphicsObject& GO){return (S <= GO.S);}
И в main:
C++
1
cout << (triangle1 <= ellipse1);
Получаю ошибку:
1>c:\users\lite\desktop\nmu\курс 2\сomplete\oop\lab4oop\lab4oop_programm\lab3oop\lab3oop\lab3oop.cpp(76): error C2446: <=: нет преобразования "MEllipse *" в "CTriangle *"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\lite\desktop\nmu\курс 2\сomplete\oop\lab4oop\lab4oop_programm\lab3oop\lab3oop\lab3oop.cpp(76): error C2440: <=: невозможно преобразовать "MEllipse *" в "CTriangle *"

Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2016, 19:09
Ответы с готовыми решениями:

Перегрузка операции «^» для обозначения операции определения подобия двух треугольников
Здравствуйте. Выполняю задание и хотел узнать, правильно ли я всё делаю или есть какие-то ошибки....

перегрузка операции^ для обозначения операции определения подобия двух треугольников через координаты
Здраствуйте как можно сделать перегрузку операции^ для определения подобия треугольников если у...

Перегрузка операции +
Всем привет! Ребята, обясните, пжлста, почему конструктор вызывается дважды. Rational integer1(...

Перегрузка операции ~
Задача: Перегрузить операцию ~ (унарная операция) так, чтобы она изменяла знак закрытых элементов...

Перегрузка операции >>
Вообщем хочу перегрузить операцию &gt;&gt; и инициализировать с ее помощью класс. Но что-то перемудрил и...

5
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
25.01.2016, 19:16 2
Сделать минимальный компилируемый пример вашей проблемы.
1
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
25.01.2016, 19:26 3
Лучший ответ Сообщение было отмечено Rusarch333 как решение

Решение

Rusarch333,
Попробуйте :
C++
1
cout << (*triangle1 <= *ellipse1);
1
rikimaru2013
25.01.2016, 19:34
  #4

Не по теме:

Nosey, шоу интуиция начинается!

Подскажите - мне доллары покупать? :bravo:

0
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
25.01.2016, 19:39 5
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
шоу интуиция начинается!
Ну ошибка грит что разные указатели сравнивать незя.
Но в общем, да, пальцем в небо

Не по теме:

Цитата Сообщение от rikimaru2013 Посмотреть сообщение
Подскажите - мне доллары покупать?
Покупайте, будете как все - с полной подушкой долларов :)

1
7 / 7 / 2
Регистрация: 12.08.2012
Сообщений: 96
25.01.2016, 21:47  [ТС] 6
Cпасибо!). Работает)). Иногда и пальцем в небо помогает).
0
25.01.2016, 21:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2016, 21:47
Помогаю со студенческими работами здесь

Перегрузка операции []
Добрый день. Столкнулся с недопониманием, странной ошибкой. #include &lt;iostream&gt; #include...

Перегрузка операции >>
Здравствуйте. Возник такой вопрос: возможни ли перегрузить оператор &gt;&gt; так, чтобы пользователь мог...

Перегрузка операции >>
Всем привет! Суть: есть класс, есть объект, есть перегруженная операция &gt;&gt; для ввода полей...

Перегрузка операции
Здравствуйте, можете пожалуйста помочь с кодом на перегрузку операции: + − добавить элемент...

Перегрузка операции ++
Определить операции над строками ++ нахождение наименьшего слова в строке. Не работает, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru