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

Сложение экземпляра базового класса и экземпляра наследника - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где бы записать 60! ? http://www.cyberforum.ru/cpp-beginners/thread274654.html
У меня стоит задача вычислить уравнение: P (a, b) = a! / (a-b)! Где "а" равно 60, а "b" равно 3 Есть какой то тип, где бы вместить 60! ?
C++ блок-схемы!!!! кто может помочь с составлением блок-схем отзовитесь http://www.cyberforum.ru/cpp-beginners/thread274653.html
Вывести на экран таблицу значения функции C++
Цель: формирование практических навыков выбора и использования операторов цикла языка С++. Постановка задачи. Решить указанные в варианте задачи, используя основные операторы языка С++. При решении задачи, использовать все типы циклов (for, while, do while).
C++ Дано множество точек. Найти медиану.
Учусь на первом курсе. Получил вот такое задание:"Медианой множества, состоящего из четного числа точек на плоскости, называется прямая, соединяющая любые две точки множества, по обе стороны от которой лежит равное количество точек. Дано множество точек на плоскости. Найти медианы." Попытался сделать, но не вышло. Объясните пожалуйста что дальше делать. #include <iostream> #include...
C++ Шарик, летающий по экрану и ударяющийся об его стенки http://www.cyberforum.ru/cpp-beginners/thread274646.html
Тут такая тема: срочно нужна помощь в создании задания на С++. С помощью графического редактора С++ необходимо создать программу в которой будет следующее: шарик летающий по экрану и ударяющийся о его стенки, при этом при каждом ударе о границу монитора шарик меняет цвет. Пожалуйста помогите))) очень срочно надо)))
C++ Программирование разветвляющихся алгоритмов Программирование разветвляющихся алгоритмов подробнее

Показать сообщение отдельно
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263

Сложение экземпляра базового класса и экземпляра наследника - C++

11.04.2011, 23:15. Просмотров 2200. Ответов 29
Метки (Все метки)

Добрый вечер! Моя задача - сложить экземпляр базового класса и наследника. Нужно сделать так, чтобы результат сложения "знал" операнда-наследника (для того и сделан в нем указатель prev). Может быть, лучше это сделать по-другому? Если да, то как? Если нет, то скажите, что дописать в операторах?

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
class A {
 protected: double x, y;
 public: A () {x=1; y=1;}
 double get_x () {return x;}
 double get_y () {return y;}
};
 
class B:public A {
 B *prev;
 public: B () {prev=0;}
 B (const B &);
 ~B () {delete prev;}
 B& operator = (const A &);
 B& operator = (const B &);
 friend ostream& operator << (ostream &, const B &);
 friend B operator + (B, A);
};
 
 
// Копирующий конструктор наследника.
B::B (const B &right) {
 prev=0;
 x=right.x;
 y=right.y;
}
 
 
// Присваивание экземпляру наследника экземпляра родителя.
B& B::operator =(const A &right) {
 x=right.get_x();
 y=right.get_y();
 return *this;
}
 
 
// Присваивание наследнику наследника.
B& B::operator = (const A &right) {
 if (this!=&right) {
  delete prev;
  prev=0;
  x=right.x;
  y=right.y;
 }
 
 return *this;
}
 
 
// Операция сложения родителя и наследника.
B operator + (B left, A right) {
 method_with_prev res;
 res.c = left.c + right.get_c();
 res.d = left.d + right.get_d();
 res.prev = &left; // Думал, что так решается, но не уверен.
 return res;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru