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

Как перегрузить оператор в виртуальном классе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгебраические дополнения http://www.cyberforum.ru/cpp-beginners/thread95441.html
Здравствуйте. Возникла такая проблема, как нахождение обратной матрицы. Но необходимо её найти методом, который к сожалению я не где не встретил:( В методе необходимо найти определитель матрицы, найти алгебраические дополнения, транспонировать матрицу с получившимися алгебраическими дополнениями и разделить полученную матрицу на определитель. Матрица может быть максимум 5x5; Помогите...
C++ Создание проекта Hello, World! скачал десять компиляторов,нужен просто компилятро для с и с++ две кнопки вкл и выкл. типа блокнота. Есть такой?(и чтоб библиотеки дописывать докопировать не надо было) заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread95438.html
C++ динамичекий двумерный мас type *mass
здрасти товарищи кодеры, нужны вашы знания в созданиях двумерного массива, но есть условие, создавать не как обычно type **mass ,а работая через type *mass гуглил гуглил не выгуглил, примеры уж больно не завершонные кто может киньте код на создания такого массива и записи в него нескольких элементов
C++ Параметры функции
Как передать в функцию в качестве параметра масив ???
C++ Перегрузка операторов с участием массивов http://www.cyberforum.ru/cpp-beginners/thread95417.html
Всем привет! Люди добрые, подскажите пожалста, как по кошерному вызвать оператор. Ситуация следующая: Есть массив MassThing mass; Есть класс Thing { ... AnsiString name;
C++ По заданному году и номеру месяца определить количество дней в этом месяце Помогите. Не могу решить. Составить программу для решения текстовой задачи с помощью оператора выбора. Составить программу, которая по заданным году и номеру месяца определяет количество дней в этом месяце. подробнее

Показать сообщение отдельно
samba777
1 / 1 / 0
Регистрация: 13.02.2010
Сообщений: 8
14.02.2010, 13:43  [ТС]     Как перегрузить оператор в виртуальном классе
Цитата Сообщение от Genius Ignat Посмотреть сообщение
samba777
А ты в курсе, что объекты абстрактных классов создавать нельзя.
И перегрузка операций, в абстрактных классах не имеет смысла, это я так считаю.
Про абстрактные классы я в курсе, поэтому то я и пытался как-то решить этот вопрос.
Ты говоришь, что перегрузка операций не имеет смысла, хорошо, а как бы ты решал следующую задачу:

{
Разработать иерархию классов Геометрическе параметры.
Иерархия должна содержать следующие параметры: отрезок(мм,см,м), площадь,объём,...
Класс должен хранить названия геометрической величины, её значение, названия единиц измерения...

Переопределить операторы +,-,/,*, >,<,==

Для иллюстрации работы с различными величинами разработать класс массив указателей на базовый класс
и программу, иллюстрирующую возможности данной иерархии
}

Мне кажется, что нужно создать массив указателей на абстрактный базовый класс Геометрические параметры.
Пусть далее пользователь хочет создать физическую величину типа отрезок: вызывается конструктор дочернего класса Отрезок--- создается требуемый объект. Что-то типа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class MassFV
   {
    private:
              int Len;// размер массива
              Fiz_value** Arr;
              int end;// последний элемент массива
    public:
           void SetN(int n)   //задать размер массива
           {
               ....
              Len=n;   
              Arr= new Fiz_value*[Len]; 
           }
 
           void addElement(int type)
           {
             switch (type)
             {
               case 0:
                      Arr[end]= new Line;
                      end++;
                      break;
               case 1:
                      Arr[end]= new Square;
                      end++;
                      break; 
                  ...... 
           }
....Деструктор......
   };
В этом случае я легко смогу сравнить любые 2 величины массива, умножить, сложить, просто обратившись к ним через массив в основной программе
C++
1
2
3
4
5
6
7
main()
{
   MassFV massfv(20);
 
if (massfv[i] == massfv[j]) ...;
 
}
Как здесь обойтись без перегрузки операторов базового класса??
Чем плох такой подход, просвети меня пожалста, готов к любой критике
 
Текущее время: 07:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru