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

Полиморфизм, наследование и приведение экземпляров класса одного к другому - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ матрица с++ http://www.cyberforum.ru/cpp-beginners/thread111707.html
помогите пожалуйста!!!! 1.Составить программу для подсчета среднего арифмитического элемента,расположенных на главной и побочной диагоналях в квадратной целочисленной матрице Х размером N+М. 2.Дана прямоугольная матрица В,размером N+М,составить программу,которая преобразует матрицу след.образом:поэлементно вычитает первый столбец из всех столбцов,кроме первого, 3.задана квадратная...
C++ количество чисел, совпадающих с номером столбца, в которых они находятся Задача такая: Дана целочисленная прямоугольная матрица. Определить: 1) сумму элементов тех строк, которые содержат хотя бы один нулевой элемента; 2) количество чисел, совпадающих с номером столбца, в которых они находятся. Вот мой вариант кода: #include <stdio.h> #include <time.h> #include<stdlib.h> http://www.cyberforum.ru/cpp-beginners/thread111689.html
Метод Гаусса C++
Подскажите пожалуйста код в С++ решение слау методом гаусса с выбором главного элемента по строке...
C++ Составить частотный словарь вводимого текста
14. Составить частотный словарь вводимого текста. Распечатать его по алфавиту, а справа от каждого слова – частоту, с которой оно встретилось.
C++ Метод Джордана-Гаусса http://www.cyberforum.ru/cpp-beginners/thread111675.html
Всем доброго времени суток))) У меня вот такая проблема, нужно доделать прогу(метод Джордана-Гаусса), то есть нужно сделать так, что бы данные не выводились рандомно на экран, а выводились рандомно в файл, и результат также выводился рандомно в файл, помогите доделать, здесь не много осталось))Вот код программы: #include <iostream> #include <time.h> using namespace std; int n; double...
C++ с++ . минуты определить полное количество часов и минут, которые прошли от начала суток до того мгновения, когда часовая стрелка обернулась на f градусов. осталось правильно рассчитать минуты. и всё, что я понимаю, это то, что если, например угол равен 40, то 30 - часы(1 час), остаток т.е. 10 - минуты(около 8 мин). а вот как программно изобразить...по крайней мере как на с++ не знаю =( #include... подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
01.04.2010, 22:09     Полиморфизм, наследование и приведение экземпляров класса одного к другому
Есть некий класс со своими переменными,его экземпляр занимает какое-то количество памяти.
Интерфейс выглядит примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* -------------------------------------------------------------------------- */
  class Subroutine {
     public:
 
        void setName(const string  *const s) {_name = *s;};
        void setVars(var_Arr_t *const vars) {variables = vars;};
        void setArrs(arr_Arr_t *const arrs) {arrays = arrs;};
        void setLabs(lab_Arr_t *const labs) {labels = labs;};
 
 
        std::string GetName()  const {return _name;};
        var_Arr_t   *getVars() const {return variables;};
        arr_Arr_t   *getArrs() const {return arrays;};
        lab_Arr_t   *getLabs() const {return labels;};
     private:
        string _name;
        stmt_Node_t *address;
        var_Arr_t *variables;
        arr_Arr_t *arrays;
        lab_Arr_t *labels;
        vector <Variable> params; // FIXME
  };
И у него есть класс потомок (так вроде называется?).И у этого класса-потомка есть ещё одна (для примера) переменная (и с ней экземпляр занимает другое количество памяти) :
C++
1
2
3
4
  class Function : public Subroutine {
     private:
        Value *returnable;
  };
Я хочу сделать одну таблицу,чтобы в ней были экземпляры этих двух классов в смешанном виде (то есть в первом поле будет какой-то флажок,для определения вида класса),вообще не знаю,хорошая ли это идея,но просто любопытно.. Как в этом случае будет распределяться память в контейнере? Можно ли безбоязненно приводить один тип к другому?
Тут у меня такое ощущение,что нужно делать контейнер для класса Function, и при необходимости приводить его к классу-родителю,но не наоборот. При этом между экземплярами будут "пустоты" в памяти. В обратном случае возможны "повреждения памяти",то есть расположение элементов будет "в нахлёст".
Правильно ли я понимаю? Или реализации компиляторов как-то заботятся о возможном добавлении класса потомка в контейнер?
Как правильно?

Добавлено через 10 минут
P.S. В принципе,можно хранить указатели на экземпляры класса,и тогда проблемы по идее быть не должно,но всё же ответ на вопрос хотелось бы услышать,чтобы понять суть.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru