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

Ошибка при создании двумерного массива из объектов производных классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу для вычисления следующей суммы http://www.cyberforum.ru/cpp-beginners/thread137082.html
Составить программу для вычисления следующей суммы 1/х-1/2х во второй степени+1/3х в третьей степени-1/4х в четвертой степени...с заданной точностью е=10 в минус второй степени
C++ Дан двумерный массив А который состоит из m строк и n столбцов Дан двумерный массив А который состоит из m и строк n столбцов. Составить программу, которая вычисляет произведение элементов каждого столбца и находит среди них наименьшее. Вывести найденный столбец и произведение его элементов. http://www.cyberforum.ru/cpp-beginners/thread137075.html
C++ Проверить является число четным
Заранее спс
C++ Дана прямоугольная матрица размера m*n
Дана прямоугольная матрица размера m*n.Найти строки с наибольшей и наименьшей суммой элементов.Вывести найденные строки и суммы их элементов.
C++ программа на массив обьектов http://www.cyberforum.ru/cpp-beginners/thread137067.html
Доброе время суток! здесь я попытался написать простенькую программу на массив обьектов,но есть ошибки,я вижу пока только одну,не могли бы подсказать как исправить её? (отметил в комментарии) #include <iostream.h> #include <math.h> #include <stdio.h> #include <conio.h> class samp
C++ Работа с файлами Нужно записать с одного файла в другой на С++ Добавлено через 46 минут ап ап ап подробнее

Показать сообщение отдельно
Vang Drnkn
0 / 0 / 0
Регистрация: 12.08.2008
Сообщений: 4
28.05.2010, 13:48     Ошибка при создании двумерного массива из объектов производных классов
Доброго времени суток. Для начала обрисую ситуацию. Мне нужно динамически создать двумерный массив из трех классов, для этого я создал некий класс с интерфейсом и остальные классы просто наследовал от него. Допустим, у меня получился массив 3х3 (как он получился смотрите дальше), но когда мне нужно достучаться до данных находящихся не в нулевом столбце программа вылетает с ошибкой 0xC0000005. Вот упрощенный код, который отражает суть проблемы:
Код
#include <iostream>
using namespace std;

class A 
{
    public:        
        virtual void setInput()= 0;
        virtual char getInput()= 0;
    
};

class B : public A
{
    public:
        B(){b = 'b';}

        virtual void setInput(){b = 'B';}
        virtual char getInput(){return b;}
    private:
        char b;
};

int _tmain(int argc, _TCHAR* argv[])
{
    A** objMy;

    objMy = new A*[3];

    for(int i = 0; i < 3; i++)
    {
        objMy[i] = new B[3];
        for(int j = 0; j < 3; j++) {
                        objMy[i][j].setInput();                            
            cout << objMy[i][j].getInput(); //Программа падает на этом месте на второй итерации
                 } 
        cout << "\n";
    }

    for(int i=0; i<3; i++)
        delete [] objMy[i];
        delete[] objMy;

    cin.get();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru