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

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

Войти
Регистрация
Восстановить пароль
 
Некий_Чел
3 / 3 / 0
Регистрация: 27.05.2012
Сообщений: 115
#1

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

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

Наследую вектор от матрицы:
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 10:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Виртуальный метод с параметром типа класс (C++):

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

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

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

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

Аргумент типа WCHAR* не совместим с параметром типа const char* - C++
Как исправить косяк? VS12 ругаетсЯ #include <windows.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include...

Виртуальный метод - C++
Здравствуйте! Помогите, пожалуйста, найти ошибку в коде. #include "stdafx.h" class Person{ protected: char *name; ...

5
Черный ворон
130 / 124 / 6
Регистрация: 31.01.2012
Сообщений: 435
10.05.2013, 10:06 #2

Не по теме:

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





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

Не по теме:


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

Не по теме:

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

0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2013, 11:37
Привет! Вот еще темы с ответами:

Виртуальный метод - C++
class A { virtual void Print()=0; } class B : public A { virtual void Print() { //Печатаем в...

Указатель на виртуальный класс - C++
Например у меня есть виртуальный класс Food и его нащадок Drink: class Food { public: Food (int m) {Weight = m;}; ~Food (); ...

Виртуальный абстрактный класс - C++
Надеюсь мой вопрос будет не глупым. Есть класс исключений в пространстве имен std У него есть метод what Я создаю свой базовый класс...

Виртуальный класс. Сигналы - C++
#ifndef MODULE_H #define MODULE_H #include &lt;QWidget&gt; class Module : public QWidget { Q_OBJECT public: ...


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

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

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