![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.01.2013
Сообщений: 15
|
![]()
Здравствуйте! Существует такая проблема, реализуется класс матрица, где базовый класс создает заполняет и выводит матрицы, а производные классы представляют собой различные операции над матрицами ( 1 класс - 1 операция, операции : сложение, умножение, транспонирование, умножение на число) . Необходимо реализовать полиморфизм. Я категорически не понимаю, как в подобной программе можно реализовать полиморфизм, не вижу смысла использовать виртуальные функции, подскажите пожалуйста!
И ещё одна проблема : как вызывать операции из производных классов? пробовала делать с помощью перегрузки , что-то вроде operator+(const Matrix &a), но не знаю как вызвать в мейне.cpp этот оператор, а если делать через функцию void , то в такой функции указатель *this не работает, из-за несоответствия типов. Заранее спасибо! |
![]() |
![]() |
![]() |
#2 | ||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
|
||||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.01.2013
Сообщений: 15
|
![]()
Спасибо! А можно ещё 2 вопроса?
1) А что должно быть внутри этой виртуальной функции в базовом классе? 2) Как сделать так, чтобы *this там работал? |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.01.2013
Сообщений: 15
|
![]()
Прошу прощения, но битый час сижу и всё равно застряла, не могу вывести результат.
\вот например функция сложения из производного класса: Код:
в mein.cpp вызываются массивы m1 и m2. Код:
Последний раз редактировалось Stilet; 02.06.2015 в 07:34. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Ну так вызовите вашу функцию и сохраните результат.
Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 15.01.2013
Сообщений: 15
|
![]()
Спасибо большое!!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с методом при наследовании | rommster | Общие вопросы C/C++ | 7 | 15.09.2011 18:56 |
ГЛЮКИ при наследовании фреймов Delphi 7 | AnTe | Компоненты Delphi | 3 | 10.12.2010 09:02 |
Полиморфизм. Как реализовать вызов метода? | katbka | Общие вопросы C/C++ | 12 | 20.05.2010 22:02 |
Перегрузка == при наследовании | paramon | Общие вопросы C/C++ | 5 | 17.06.2008 00:17 |
Вызов процедуры при обьявлении функции | ivannikov | Общие вопросы Delphi | 6 | 12.03.2008 13:20 |