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

Иерархия классов: массивы указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка при компиляции http://www.cyberforum.ru/cpp-beginners/thread875923.html
Задача: Написать программу нахождения суммы большего и меньшего из трех чисел. Вот что я накарякал: #include <stdio.h> #include <windows.h> int maximum(int, int, int); int maximum(int a,int b,int c) { int rezmax; rezmax=a;
C++ Игра "Ралли" Игра "Ралли". Машины "падают" сверху игрок управляет своей машиной, уворачивается от столкновений. Может быть у кого-нибудь есть? Очень надо( http://www.cyberforum.ru/cpp-beginners/thread875922.html
C++ Отсортировать диагонали матрицы, параллельные главной, по убыванию элементов методом вставки
Помогите исправить код, не могу доработать её. #include <fstream> #include <iomanip> #include <iostream> using namespace std; ifstream in("input.txt"); ofstream out("output.txt");
C++ Остановить выполнение программы после обработки исключения
в билдере пишу прогу. обрабатываю исключение - без проблем. showmessage работает, но после этого продолжается счёт и вылазиет шляпа( естеественно ведь нужных параметров нету!) как сделать, чтоб если исключение сработало, то стопэ всей проге. *ввести булевой параметр, который false в случае исключения и написать if (t) {вся программа} не предлагать, до него уже допер, есть что нибудь цивильное?
C++ Используя функции вычислить сумму http://www.cyberforum.ru/cpp-beginners/thread875876.html
Подскажите алгоритм решения. На выходе будет число или массив?
C++ Определить сколько раз буква "а" встречается в каждом слове Дана строка текста, в которой слова разделены символами "#" и пробелами . Необходимо: а) определить колличество слов в строке и вывести на экран слова этой с троки в столбик #include<iostream.h> #include<conio.h> int test(char x) {char *y=" ,./<>:';-+_!@#$%^&*"; for(int i=0;y!=0;i++) {if(x==y) {return(1);}} подробнее

Показать сообщение отдельно
takeN
3 / 3 / 1
Регистрация: 22.05.2013
Сообщений: 13
23.05.2013, 16:31     Иерархия классов: массивы указателей
Добрый день или ночь. Создаю иерархию и возник вопрос: можно ли сделать так, как я сделал?)

есть 6 классов один из них абстрактный базовый, другой включён в базовый и по 2 класса потомка на каждый:

[
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// глобальные переменные, в дальнейшем будут статическими переменными...
int amtA = 0;
int amtB = 0;
 
// объявление классов:
class A *arrayA[Max];
class A
{
public:
        class B *arrayB[2];
    virtual void printA() = 0;
    virtual ~A(){ }
};
 
class Aa:public A
{
public:
    void printA(){ }
};
 
class Ab:public A
{
public:
    void printA(){ }
};
 
 
class B:public A
{
public:
    void printA(){ }
    virtual void printB();
};
 
class Ba:public B
{
public:
    void printA(){ }
    void printB(){ }
};
 
class Bb:public B
{
public:
    void printA(){  }
    void printB(){  }
};]
 
могу ли я сделать так:
 
[class B *ptrBb;
 class B *ptrBa;
 
// создание 1  элемента:
class A *ptrA;
 
ptrA = new Aa;
arrayA[amtA] = ptrA;
amtA++;
 
ptrA = new Ab;
arrayA[amtA] = ptrA;
 
ptrBa = new Ba;
arrayA[amtA]->arrayB[amtB] = ptrBa; // больше всего напрягает такой синтаксис
amtB++;
 
ptrBb = new Bb;
arrayA[amtA]->arrayB[amtB] = ptrBb; // больше всего напрягает такой синтаксис
// вызов методов  и т.п..................
 
/*
то-есть я создаю объект Aa, Ab и им соответствующие объекты Ba и Bb
объекты  производных классов от А содержатся в массиве arrayA[] 
соответственно объекты производных классов от В в массиве arrayB[] который равносилен объектам классов Aa и Ab
*/
/*]
если нет, подскажите как нужно сделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru