Согласен!
Я наверное не совсем удачный пример привел, на самом деле объявление класса имеет следующий вид:
typedef cCell* PCell;
class cTable
{
protected:
ULONG m_maxRows;//ограничение на количество строк
ULONG m_maxColums;//ограничение на количество столбцов
std::vector<PCell> m_cells;//вектор ячеек
protected:
void deleteCell(ULONG seqNum);//удаляет ячейку из массива ячеек с порядковым номером seqNum
void addCell(const cRectOfCell& rectOfCell);//добавляет ячейку в массив ячеек
public:
//Конструкторы и деструктор
cTable(ULONG maxRows=1,ULONG maxColums=1);
virtual ~cTable(void);
cTable(const cTable& table);
//Пользовательский интерфейс
ULONG GetMaxRows(void)const{return m_maxRows;}
void SetMaxRows(ULONG maxRows);
ULONG GetMaxColums(void)const{return m_maxColums;}
void SetMaxColums(ULONG maxColums);
size_t GetSizeOfCellsVector(void)const{return m_cells.size();}
const cCell& operator[](ULONG seqNum)const{return *m_cells[seqNum];}//возвращает ячейку с порядковым номером
std::string& operaor()(ULONG row,ULONG colum);
//...
};
Думаю понятно, для чего нужен этот класс
А объединить я хотел функции SetMaxColums и GetMaxColums, но дело в том, что при вызове SetMaxColums из вектора ячеек должны удаляться все ячейки, которые выходят за таблицу