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

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

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

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

10.05.2013, 10:01. Просмотров 380. Ответов 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;
...
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 10:01     Виртуальный метод с параметром типа класс
Посмотрите здесь:

Класс работник. Виртуальный метод - 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++
class A { virtual void Print()=0; } class B : public A { virtual void Print() { //Печатаем в...

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

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

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

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

Виртуальный базовый класс - C++
Создать иерархию типов, описывающую - человека, студента, отца семейства и студента-отца семейства. Использовать виртуальные базовые...

Указатель на виртуальный метод - C++
По мотивам какого-то вопроса тут возник вопрос, ответ на который я что-то не придумал. Как взять указатель на метод базового класса, если...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Черный ворон
129 / 123 / 6
Регистрация: 31.01.2012
Сообщений: 435
10.05.2013, 10:06     Виртуальный метод с параметром типа класс #2

Не по теме:

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





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

Не по теме:


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

Не по теме:

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

lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
10.05.2013, 11:07     Виртуальный метод с параметром типа класс #5
Цитата Сообщение от Некий_Чел Посмотреть сообщение

Не по теме:

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

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

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

Не по теме:

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

Yandex
Объявления
10.05.2013, 11:37     Виртуальный метод с параметром типа класс
Ответ Создать тему
Опции темы

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