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

Перегрузка оператора == - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напечатать таблицу значений функции f(x) и суммы S(x) через do while http://www.cyberforum.ru/cpp-beginners/thread407764.html
через do while!!!!!! Напечатать таблицу значений функции f(x) и суммы S(x) в виде таблицы. N X F(x) S(x) <<<<<<========представте это таблицей) включая 1 1 Х изменяется в диапазоне...
C++ Реализовать массив обьектов для хранения и действия для обработки элементов массива. Реализовать массив обьектов для хранения и действия для обработки элементов массива. Результаты сессии.Подсчет среднего балла по группе и определение максимального. http://www.cyberforum.ru/cpp-beginners/thread407744.html
Ошибка при выполнении. C++
выскакивает ошибка при выполнении - drawing operation was attempted when there was no current window. #include <conio.h> int main() { while (1) { if (kbhit()) break;...
C++ Распознавание простоты
Привет всем! у кого нибудь есть прога По распознаванию простоты числа(Полиномиальный тест распознания простоты)??? заранее спасибо!
C++ Сортировка списка http://www.cyberforum.ru/cpp-beginners/thread407728.html
Всем привет) Нужно реализовать сортировку списка, линейного однонаправленного. Написал, но что-то как-то не правильно... void sort_train(Train *head) { Train *buf; bool change;
C++ Использование различных свойств наследования для расширения и уточнения классов Помогите решить задачу Среди представленных понятий,( квитанция, накладная, документ, чек), выбрать самое общее, на основе которого будет строиться родительский класс. Исходя из остальных... подробнее

Показать сообщение отдельно
Toshka1993
Сообщений: n/a

Перегрузка оператора == - C++

14.12.2011, 23:39. Просмотров 340. Ответов 1
Метки (Все метки)

нужно сравнить
1) объект класса abc с объектом класса abc1
2) объект класса abc с другим объектом класса abc
3) объект класса abc1 с объектом класса abc
не используя виртуальности

1) и 2) я написала, а над третьим голову ломаю=(
может кто знает, как можно такое сделать?
(пишу в Visual Studio)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
class abc1
{
public:
int a, b;
 
abc1() { a=0; b=0; }
abc1( int i, int j) { a=i; b=j; }
//  bool operator == (const abc & op1);
};
 
 
class abc
{
public:
int x, y;
 
abc() { x=0; y=0; }
abc( int i, int j) { x=i; y=j; }
abc operator+ (abc op1);
bool operator == (const abc & op1);
bool operator == (const abc1 & op2);
};
 
abc abc:: operator+ (abc op1)
{
abc temp;
temp.x = x + op1.x;
temp.y = y + op1.y;
return temp;
}
 
 
 
 
bool abc :: operator==(const abc & op1) 
{
return x == op1.x && y == op1.y;
}
 
bool abc :: operator==(const abc1 & op2) 
{
return x == op2.a && y == op2.b;
}
 
bool abc :: operator==(const abc1 & op2) 
{
return op2.a == x && op2.b == y;
}
 
void main()
{
abc o1(10,10), o2(5, 3), o3, o4(10, 10);
o3 = o1+o2;
abc1 o5(10, 10);
abc1 o6(4,6);
 
cout <<"o1 + o2 = \n"<< "x = " << o3.x << ", y = " << o3.y <<"\n\n";
 
if(o1 == o2) cout << "o1 ravno o2\n";
else cout << "o1 ne ravno o2\n";
 
if(o1 == o5) cout << "o1 ravno o5\n";
else cout << "o1 ne ravno o5\n";
 
if(o5 == o1) cout << "o5 ravno o1\n";
else cout << "o5 ne ravno o1\n";
 
if(o1 == o6) cout << "o1 ravno o6\n";
else cout << "o1 ne ravno o6\n";
 
getch();
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru