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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Will7
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 7
#1

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

25.05.2013, 20:29. Просмотров 412. Ответов 9
Метки нет (Все метки)

В классе Ellipse перегрузить оператор - (бинарный, дружественный оператор)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 20:29     Перегрузка (бинарный, дружественный оператор)
Посмотрите здесь:

Перегрузка, дружественный функции - C++
Всем привет сразу к делу. Вроде бы всё просто , перегрузка ... Просче показать чем объяснить. Ниже не замысловатый код, перегружены...

дружественный оператор для вектора - C++
всем доброго времени суток хедер friend vector operator + (const vector& v, const vector& w ); friend vector...

Где мы можем использовать, дружественный оператор сложения? - C++
Где мы можем использовать, дружественный оператор сложения,почему нельзя воспользоваться перегрузкой оператора в классе,Зачем усложнять?

Дружественный оператор не видит закрытые члены класса - C++
angle.h: #pragma once #include <iostream> using std::ostream; class Angle { friend ostream& operator<<(ostream& out, Angle...

Бинарный оператор не найден - C++
Класс пишу. в функции main() с помощью оператора cout пытаюсь вывести информацию. Выдает ошибка какая то Вот файл с main() ...

Перегрузка оператор ввода - C++
Перегрузите оператор ввода >> вводящий дробь. Вводится числитель, после чего проверяется, если следующий символ - /, то читается также...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4286 / 1408 / 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
4286 / 1408 / 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
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!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,451
Завершенные тесты: 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
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++
Перегрузка операторов, запутано-намутано #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; using namespace::std; ...

Ошибка C2679: бинарный '=': не найден оператор, принимающий правый операнд типа 'double' - C++
// ConsoleApplication2.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &quot;math.h&quot; ...

Оператор суммирования (классы, перегрузка операторов) - C++
#include &lt;iostream&gt; class mat { public: mat() { var = 0; } mat(int a) { var = a; } ~mat() { } void set(int b) { var =...

ООП, заполнение 0-ми вместо от 0 до 10, оператор + (перегрузка) не срабатывает - C++
Не правильно работает заполнение матрицы, заполняется только 0-ми. Не срабатывает оператор + Помогите разобраться и научиться.... ...


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

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

Не по теме:

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru