С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
monoxpom
0 / 0 / 0
Регистрация: 23.04.2009
Сообщений: 13
#1

Class Complex - C++

08.05.2011, 11:59. Просмотров 1747. Ответов 24
Метки нет (Все метки)

Товарищи Программисты, проблема более теоритического характера, чем практического. А проблема в следующем: есть класс комплексное число, какой класс логичнее от него наследовать, чтобы не слишком заумно, но изящно и с демонстрацией применения виртуальных функций и тп? Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 11:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Class Complex (C++):

Программа (class Complex) на неуправляемом языке c++ - C++
Написал программу. Заголовочный файл class Complex { private: double x, y; public: Complex(); Complex(double, double); ...

Шаблон класса complex. Ошибка undefined reference to `complex<double>::SetRe(double)' - C++
Есть такой файл complex.h #ifndef COMPLEX_H #define COMPLEX_H template&lt;class Type&gt; class complex{ public: Type Re; Type...

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') - C++
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i != Bullets.end(); /**/) В строке цикла вот...

Работа с class ами. Заполнение дин. массива типа class - C++
Всем доброго времени суток! Это моя первая тема на этом сайте, поэтому если что извините меня (за неточности итд итп). Мне нужно...

Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a ) - C++
Плиз помогите. Не знал, что я такой чайник.) Итак: есть два класса: CMyClass.h CMyClass.cpp и

Create a programm that creates an object of created class Time and tests the member functions of class - C++
Time Class Create a class called Time that might be used to represent time. 1. Your class should include three data...

24
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
08.05.2011, 20:57 #16
Predator_2004, уж скорее наследовать класс комплексные числа от действительных, там как раз можно сделать виртуальными методы элементарных функций и операции арифметические. Наследуется сложное от простого ведь, а не наоборот. К тому же если таки унаследовать действительные числа от комплексных, то создаваемый объект будет содержать поле мнимой части - которое в действительных числах никогда не будет использоваться. И зря будет память занимать. Не вариант!
Можно попробовать как расширение комлпексных чисел - гиперкомплексные. Но я с ними мало знаком.
1
Evg
Эксперт CАвтор FAQ
18383 / 6431 / 441
Регистрация: 30.03.2009
Сообщений: 17,853
Записей в блоге: 28
08.05.2011, 21:03 #17
Цитата Сообщение от Predator_2004 Посмотреть сообщение
Вам моя точка зрения не импонирует.
Если вернуться к автомобилям, то базовый класс определяет свойства, ОБЩИЕ для всех элементов класса "автомобиль" и его производных классов. А производные классы типа "автомобиль ауди" определяет свойства, ИНДИВИДУАЛЬНЫЕ для класса "автомобиль ауди", которых нет в классе "автомобиль". В случае с наследованием класса "действительное" число от класса "комплексное" число никаких новых индивидуальных свойств не появляется. Поэтому сие НЕ есть наследование

Цитата Сообщение от Predator_2004 Посмотреть сообщение
Как бы вы выполнили наследование, учитывая, что мы имеем комплексное число, а значит, следуя логике, не должны в итоге получить класс - доска (к примеру)?
В трёх чтениях постановку вопроса так и не понял. Возможно, из-за того, что я не математик и не философ

Добавлено через 1 минуту
Цитата Сообщение от almazsr Посмотреть сообщение
Predator_2004, уж скорее наследовать класс комплексные числа от действительных
Это тоже не правильно. Комплексное число по отношению к действительному имеет отношение "содержит", но не "является". Т.е. класс комплексного числа должен СОДЕРЖАТЬ в себе понятие действительного числа, но на НАСЛЕДОВАТЬ его

Добавлено через 1 минуту
Цитата Сообщение от slice Посмотреть сообщение
ты несешь какую-то ахинею
Он сразу сказал, что речь ведёт с позиции математика. На мой взгляд это хорошая возможность понять свои собственные знания. А именно, показать, почему он не прав. Правда это всё уже оффтоп и, возможно, имеет смысл вынести в отдельную тему
1
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
08.05.2011, 21:27 #18
Цитата Сообщение от Evg Посмотреть сообщение
Это тоже не правильно. Комплексное число по отношению к действительному имеет отношение "содержит", но не "является". Т.е. класс комплексного числа должен СОДЕРЖАТЬ в себе понятие действительного числа, но на НАСЛЕДОВАТЬ его
Ну тогда просто интерфейс "число" INumber какой-нибудь с арифметическими операциями общими для всех чисел и элементарными функциями.
0
slice
35 / 78 / 4
Регистрация: 04.11.2010
Сообщений: 249
08.05.2011, 21:44 #19
Попытка решить эту задачу сродни попытке натянуть презерватив на кактус. И все ради того, чтоб удовлетворить прихоть преподавателя, ни черта не шарящего в ООП.

Добавлено через 6 минут
(c) slice
1
monoxpom
0 / 0 / 0
Регистрация: 23.04.2009
Сообщений: 13
08.05.2011, 21:52  [ТС] #20
Цитата Сообщение от slice Посмотреть сообщение
Попытка решить эту задачу сродни попытке натянуть презерватив на кактус. И все ради того, чтоб удовлетворить прихоть преподавателя, ни черта не шарящего в ООП.

Добавлено через 6 минут
(c) slice
Первая фраза весьма четко охарактеризовала мое отношение к данной задаче. Всем участникам диспута спасибо. И все-таки, чтобы было чем мне заняться, а не с пустыми руками идти на занятия, скажите первый приходящий на ум пример наследования.
0
HighPredator
5545 / 1858 / 346
Регистрация: 10.12.2010
Сообщений: 5,446
Записей в блоге: 2
08.05.2011, 22:43 #21
Цитата Сообщение от Evg Посмотреть сообщение
В случае с наследованием класса "действительное" число от класса "комплексное" число никаких новых индивидуальных свойств не появляется
Не могу согласиться. В качестве индивидуальных свойств можно указать отсутствие комплексной части и, как следствие, таких характеристик как модуль и комплексно сопряженное.
0
Байт
Нарушитель
Эксперт C
16697 / 10961 / 1689
Регистрация: 24.12.2010
Сообщений: 21,399
08.05.2011, 22:52 #22
Этот замечательный диспут еще раз показывает, как был прав поэт
ООП - как посмотришь с холодным вниманьем вокруг - такая смешная и глупая шутка
0
Evg
Эксперт CАвтор FAQ
18383 / 6431 / 441
Регистрация: 30.03.2009
Сообщений: 17,853
Записей в блоге: 28
08.05.2011, 23:32 #23
Цитата Сообщение от monoxpom Посмотреть сообщение
И все-таки, чтобы было чем мне заняться, а не с пустыми руками идти на занятия, скажите первый приходящий на ум пример наследования
Класс "геометрическая фигура". Содержит свойства "координаты" и "цвет", а так же виртуальный абстрактный метод "отобразить". Производные классы "круг", "квадрат" и т.п. являются наследниками от "геометрическая фигура" и определяют свои реализации виртуального метода "отобразить"

Цитата Сообщение от Predator_2004 Посмотреть сообщение
В качестве индивидуальных свойств можно указать отсутствие комплексной части
Ну если отсутствие чего-то это новое свойство, то действительно класс "доска" является производным классом от "комплексное число"
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
09.05.2011, 00:48 #24
Все же наследование не всегда изображает отношение "является". Про паблик наследование да. Но как-то тут я смотрю все забывают о приватном и протектед наследовании (хотя к этой задаче и такой не подойдет).
0
Evg
Эксперт CАвтор FAQ
18383 / 6431 / 441
Регистрация: 30.03.2009
Сообщений: 17,853
Записей в блоге: 28
09.05.2011, 11:15 #25
ForEveR, а пример приведи.

Кстати, я говорил о наследовании, как идеологическом понятии, а не техническом
0
09.05.2011, 11:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 11:15
Привет! Вот еще темы с ответами:

enum и class как составляющие другого class - C++
Как организовать ввод enuma с клавиатуры (51-я строка)? Как прикрепить класс date к employee в private? :wall: #include &lt;iostream&gt; ...

vector<[class]> in class и перегрузка (ostream) - C++
Доброе всем время суток ) столкнулся с проблемой Есть у меня несколько классов и есть класс внутри которого созданы векторы хранящие...

Объяснить причины ошибки "Extra qualification 'CLASS CONSTRUCTOR' and 'CLASS' has incomplete type" - C++
Согласно синтаксису, вроде все правильно, но ошибка... что не так? Ошибки компилятора ниже на рисунке... #include &lt;iostream&gt; ...

Работа с Complex - C++
Вроде как все правильно, компилятор даже не ругается, но почему-то значения затираются, и я не могу понять почему. Вот сам код: ...


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

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

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