Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 4 / 0
Регистрация: 27.05.2012
Сообщений: 120
1

Виртуальный метод с параметром типа класс

10.05.2013, 10:01. Показов 902. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Наследую вектор от матрицы:
C++
1
2
3
4
5
6
7
class Matrix
{
public:
...
    virtual bool isValidToMult ( const Matrix & ) const;
...
}
А в наследуемом классе писать тот же тип параметра или уже вектор?

C++
1
2
3
4
5
6
7
class Vector : public Matrix
{
public:
...
    bool isValidToMult ( const /*Matrix или Vector?*/ & ) const;
...
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2013, 10:01
Ответы с готовыми решениями:

Класс работник. Виртуальный метод
Здраствуйте! Надо ввести работников с почасовой ЗП и фиксированной ЗП. Написать виртуальный метод...

Абстрактный класс. Виртуальный метод, который возвращает T- тип
Привет! Допустим, есть абстрактный класс, и метод, который возвращает T-тип. class A {...

Абстрактный класс «Клиент банка», имеющий виртуальный метод для вывода данных о клиенте
Создать абстрактный класс «Клиент банка», имеющий поля ФИО и адрес, а также метод, для вывода...

Создать класс Mystring, предназначенный для хранения строки из символов типа char. Класс имеет метод для определения дли
Создать класс Mystring, предназначенный для хранения строки из символов типа char. Класс имеет...

5
138 / 132 / 57
Регистрация: 31.01.2012
Сообщений: 435
10.05.2013, 10:06 2

Не по теме:

Цитата Сообщение от Некий_Чел Посмотреть сообщение
Наследую вектор от матрицы:
новый подход. обычно матрицу наследуют от вектора. впрочем это Ваше дело





Цитата Сообщение от Некий_Чел Посмотреть сообщение
bool isValidToMult ( const /*Matrix или Vector?*/ & ) const;
если здесь написать Vector, то у методов будут различные сигнатуры и это не будет определением виртуального метода родительского класса. А как уж это Вам поможет - решайте сами
1
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,719
10.05.2013, 10:10 3
Естественно, Matrix.
А уже внутри функции можете привести к типу Vector (если понадобится).
1
4 / 4 / 0
Регистрация: 27.05.2012
Сообщений: 120
10.05.2013, 10:21  [ТС] 4
Цитата Сообщение от Черный ворон Посмотреть сообщение

Не по теме:


новый подход. обычно матрицу наследуют от вектора. впрочем это Ваше дело

Не по теме:

Я вектор рассматриваю, как матрицу N:1, а матрица реализована одномерным массивом. Многие методы из матрицы (в моём учебном задании) переопределять в векторе не надо.

0
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,593
10.05.2013, 11:07 5
Цитата Сообщение от Некий_Чел Посмотреть сообщение

Не по теме:

Я вектор рассматриваю, как матрицу N:1, а матрица реализована одномерным массивом. Многие методы из матрицы (в моём учебном задании) переопределять в векторе не надо.

Обычно матрицу не наследуют от векторов (матрица не всегда ведет себя как вектор) а представляют в виде вектора векторов.
C++
1
2
// например
typedef std::vector<std::vector<double> > Matrix;
Да и вообще, наследовать матрицу от вектора надо очень осторожно -- матрица не всегда ведет себя также, как вектор. Удивительно, кстати, что в коде ТС его матрица будет вести себя точно так же как вектор.

Конечно, матрица обладает более широким функционалом, например, она имеет количество строк, которые для вектора не имеют смысла, так что наследовать матрицу от вектора несколько нелогично.
0
Черный ворон
10.05.2013, 11:37     Виртуальный метод с параметром типа класс
  #6

Не по теме:

похоже это я спутал терминологию. почему то думал о массиве векторов, а написал наследование:-|. глупая ошибка. предлагаю дальше не развивать эту тему

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2013, 11:37

Написать класс, который эмулирует работу типа float. Реализовать метод А^В
привет ребят.выручайте. написать класс который эмулирует работу типа float. реализовать метод А^В

Аргумент типа WCHAR* не совместим с параметром типа const char*
Как исправить косяк? VS12 ругаетсЯ #include &lt;windows.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt;...

Аргумент типа const char* не совместим с параметром типа LPCWSTR
Делаю лабораторную ... Оконные приложения winapi по заданию - см.скрин2 При попытке собрать...

Аргумент типа char * несовместим с параметром типа lpcwstr
Как решить ошибку компиляции, на втором компьютере студия ошибок не вызывает, что странно. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru