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

Перегрузка (бинарный, дружественный оператор) - C++

Восстановить пароль Регистрация
 
Will7
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 7
25.05.2013, 20:29     Перегрузка (бинарный, дружественный оператор) #1
В классе Ellipse перегрузить оператор - (бинарный, дружественный оператор)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.05.2013, 20:49     Перегрузка (бинарный, дружественный оператор) #2
Класс Ellipse-то предоставьте.
Will7
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 7
25.05.2013, 21:14  [ТС]     Перегрузка (бинарный, дружественный оператор) #3
C++
1
2
3
4
5
class Ellipse :public Point
{int a,b;
Point* Center;
 public: Ellipse () {a=b=0;}
};
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.05.2013, 21:30     Перегрузка (бинарный, дружественный оператор) #4
Не представляю, что там у Вас в Point содержится, посему код только для a и b:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Ellipse :public Point
{
    int a,b;
    Point* Center;
public: 
    Ellipse () {a = b = 0;}
    Ellipse(int _a, int _b): a(_a), b(_b) {}
    friend Ellipse operator - (const Ellipse&, const Ellipse&); 
};
 
Ellipse operator - (const Ellipse &obj1,const Ellipse& obj2)
{
    return Ellipse(obj1.a - obj2.a, obj1.b - obj2.b);
}
Will7
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 7
25.05.2013, 22:23  [ТС]     Перегрузка (бинарный, дружественный оператор) #5
не подскажите как реализовать вывод в int main
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
25.05.2013, 22:29     Перегрузка (бинарный, дружественный оператор) #6
Will7, Шо за вывод в int main? Просто в программе запиши
C++
1
2
3
4
5
6
7
int main()
{
//тута свой код пиши и все
....
//конец своего кода
return 0;
}
Will7
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 7
25.05.2013, 22:40  [ТС]     Перегрузка (бинарный, дружественный оператор) #7
вывод через cout<<object1<<object2;
не получается вывести, ошибки
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
25.05.2013, 22:49     Перегрузка (бинарный, дружественный оператор) #8
Цитата Сообщение от Will7 Посмотреть сообщение
вывод через cout<<object1<<object2;
Можно перегрузить оператор вывода в поток, основываясь на коде BumerangSP (часть с Point не учитывается, не знаю, что там):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Ellipse :public Point
{
    int a,b;
    Point* Center;
public: 
    Ellipse () {a = b = 0;}
    Ellipse(int _a, int _b): a(_a), b(_b) {}
    friend Ellipse operator - (const Ellipse&, const Ellipse&); 
    friend std::ostream & operator <<(std::ostream &, Ellipse const&);
};
 
Ellipse operator - (const Ellipse &obj1,const Ellipse& obj2)
{
    return Ellipse(obj1.a - obj2.a, obj1.b - obj2.b);
}
 
std::ostream & operator <<(std::ostream & ostream, Ellipse const& ellipse) {
   ostream << '(' << ellipse.a << ", " << ellipse.b << ')' << std::endl;
   return ostream;
}
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
25.05.2013, 22:49     Перегрузка (бинарный, дружественный оператор) #9
Will7, перегрузи operator <<();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2013, 22:52     Перегрузка (бинарный, дружественный оператор)
Еще ссылки по теме:

C++ Дружественный оператор не видит закрытые члены класса
C++ Перегрузка операторов, оператор присваивания
Бинарный оператор не найден C++

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

Или воспользуйтесь поиском по форуму:
gray_fox
25.05.2013, 22:52     Перегрузка (бинарный, дружественный оператор)
  #10

Не по теме:

Вообще, не советовал бы наследовать эллипс от точки...

Yandex
Объявления
25.05.2013, 22:52     Перегрузка (бинарный, дружественный оператор)
Ответ Создать тему
Опции темы

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