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

Создается объект абстрактного класса:( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа со столбцами в vector< vector<int> > http://www.cyberforum.ru/cpp-beginners/thread1031519.html
Добрый вечер. Есть ли какие-нибудь способы работы со столбцами в двумерных векторах? Часть задачи звучит так: "Переставить элементы первого столбца в обратном порядке, если в нем нет повторяющихся...
C++ Динамически загружаемые библиотеки (DLL) Здравствуйте. Может кто-нибудь сможет помочь? Нужно создать библиотеку функций для работы с двумерными матрицами и скомпоновать ее в виде DLL. Набор функций должен включать: транспонирование... http://www.cyberforum.ru/cpp-beginners/thread1031512.html
C++ Нужна благотворительность
Занимаюсь созданием правдоподобной (с физической точки зрения) 3D модели солнечной системы. Необходимо обозначить спутники планет гигантов Юпитера, Урана и Нептуна. Нужно написать: int...
C++ Два равных элемента
Два равных элемента.Дан целочисленный двумерный массив А размера nxm.Известно что среди его элементов два и только два равны между собой.Напеатать их индексы Ребят очень прошу помощи в...
C++ Поменять строки местами http://www.cyberforum.ru/cpp-beginners/thread1031492.html
Меня интересует такой вопрос, вот это неправильный отрывок кода. ... while (a!=NULL) { puts(a); a=strtok(NULL," "); if (strlen(a)==5) kolvo++; } ...
C++ напишите программу на с++, с комментариями Создать шаблон структуры ОКАЗАНИЕ УСЛУГИ, которая содержит поля: код услуги, стоимость, имя клиента, дата оказания услуги. Создать класс, который содержит поля: массив структур для 10... подробнее

Показать сообщение отдельно
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
07.12.2013, 02:17  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Указатель никто не мешает сделать, но зачем массив объектов абстрактного класса пытаетесь создать?
Подскажите как мне еще можно создать двумерный массив ячеек для таблицы.
Вот допустим мои ячейки:
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
#ifndef _CELL_H_
#define _CELL_H_
 
#include <string>
#include <sstream>
typedef __int32 dword; 
 
class Cell
{
public:
    Cell() {}
    ~Cell() {}
    virtual std::string getData() const = 0;
};
 
class IntegerCell : public Cell
{
    dword data;
public:
    IntegerCell(std::string s)
    : data(::atof(s.c_str()))
    {}
 
    std::string getData() const
    {
        std::string str;
        std::ostringstream stream;
        stream << data;
        str = stream.str();
        return str;
    }
};
 
class StringCell : public Cell
{
    std::string data;
public:
    StringCell(std::string s) :data(s) {}
    std::string getData() const { return data; }
};
#endif
Далее в я создаю саму таблицу:
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
#ifndef _TABLE_H_
#define _TABLE_H_
 
#include <string>
#include <iostream>
#include "Cell.h"
 
class Table
{
public:
    class Bad_Data {};
 
    Table(unsigned int rows, unsigned int columns);
    ~Table();
 
    void print() const;
 
private:
    unsigned int m_Rows;
    unsigned int m_Columns;
 
    Cell** m_Table;
 
    void createTable();
};
#endif
И вот тут уже создания двумерного массива ячеек идет, где я запутался...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
Table::Table(unsigned int rows, unsigned int columns)
    : m_Rows(rows), m_Columns(columns)
{
    createTable();
}
 
void Table::createTable()
{
    m_Table = new Cell*[m_Rows];
 
    for(unsigned int i = 0; i < m_Rows; ++i)
        m_Table[i] = new Cell[m_Columns]; // ВОТ ТУТ Я НЕ МОГУ ПОНЯТЬ ДРУГОГО СПОСОБА СДЕЛАТЬ ТАБЛИЦУ
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru