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

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

Войти
Регистрация
Восстановить пароль
 
mishutka999
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 3
#1

Создать массив в базовом абстрактном классе, и его передать функциям производных классов - C++

28.11.2009, 23:16. Просмотров 883. Ответов 4
Метки нет (Все метки)

есть полностью абстрактный (виртуальный) класс. там все функции виртуальные и равны 0. Назовем его class A
есть 3 производных ОТ НЕГО класса. Например class X, class Y, class Z.
сложность в том, что в классе А должен создаться символьный двумерный массив и этот массив юзают (меняют в нем значения) классы X, Y, Z. Именно один и тот же массив!!!

Вопросы:
1-как создать в классе A этот массив (у меня есть вариант, что нужно создать указатель char *arr в хеддере класса А, а в конструкторе класса А написать arr=new char[10][10] но я почему сомневаюсь насчет этого варианта.)

2- как передать этот массив в функции классов X, Y, Z. То есть, что должно быть написано в прототипе функции (в передаваемом значении), в описании функции (в передаваемом значении), и в самом теле функции (как использовать этот массив).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2009, 23:16     Создать массив в базовом абстрактном классе, и его передать функциям производных классов
Посмотрите здесь:

C++ Указатель на потомка в базовом классе.
C++ Массив объектов разных производных классов
C++ создать массив из дробей и передать его в функцию, которая изменит каждый чётный элемент путём добавления следующего за этой дробью
Как избежать не нужной пустой реализации виртуальных методов в базовом классе? C++
C++ Перегрузить операцию сложения в базовом классе, который имеет два наследника
C++ Сравнение производных классов
C++ Обязательно ли объявление виртуального деструктора в абстрактном классе
C++ Возвращаемый тип конструктора копирования в абстрактном классе
C++ В базовом классе вводится символьный массив, а в производном - проверка на максимальную длину строки
C++ Написание функций, которые объявлены в абстрактном классе
C++ Почему без пустого целочисленного поля в базовом классе программа виснет?
C++ Как работают static-переменные объявленные в в базовом классе?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.11.2009, 23:39     Создать массив в базовом абстрактном классе, и его передать функциям производных классов #2
static
mishutka999
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 3
28.11.2009, 23:40  [ТС]     Создать массив в базовом абстрактном классе, и его передать функциям производных классов #3
Цитата Сообщение от niXman Посмотреть сообщение
static
а поподробнее можно.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.11.2009, 23:44     Создать массив в базовом абстрактном классе, и его передать функциям производных классов #4
http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx

Вопросов возникнуть не должно
mishutka999
0 / 0 / 0
Регистрация: 28.11.2009
Сообщений: 3
29.11.2009, 00:14  [ТС]     Создать массив в базовом абстрактном классе, и его передать функциям производных классов #5
//--модуль A.cpp
void f1(void) {...}; // определение глобальной функции
static void f2(void){...}; // определение локальной функции
//--модуль B.cpp
f1(); // вызов глобальной функции
f2(); // ОШИБКА!! -- вызов невидимой функции


код взят отсюда http://www.rsdn.ru/forum/cpp/2706624.1.aspx

так как все классы будут описаны в разных модулях, исходя из выше описанного они друг друга не увидят, и не смогут работать.
Yandex
Объявления
29.11.2009, 00:14     Создать массив в базовом абстрактном классе, и его передать функциям производных классов
Ответ Создать тему
Опции темы

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