Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 01:44   #1
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию С++ Перегрузка квадратных скобок

Можно пример перегрузки квадратных скобок в классе? для изменения/получения значения скрытого поля-динамического массива чисел
Namolem вне форума Ответить с цитированием
Старый 29.04.2010, 02:45   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Код:
//array.h
class Array {
  static const int kAllocSize = 4;
  void resize(int newSize);
  int *mElems;
  int mSize;
public:
  Array();
  ~Array();
  int &operator[] (int x);
};

//array.cpp
const int Array::kAllocSize;

Array::Array() {
  mSize = kAllocSize;
  mElems = new int[mSize];
}

Array::~Array() {
  delete [] mElems;
}

void Array::resize(int newSize) {
  int *newElems = new int[newSize];
  for (int i = 0; i < mSize; i++)
    newElems[i] = mElems[i];
  mSize = newSize;
  delete [] mElems;
  mElems = newElems;
}

int &Array::operator[] (int x) {
  if (x >= 0) {
    if (x >= mSize) //индекс больше текущей длины
      resize(x + kAllocSize);
    return (mElems[x]);
  }
  else throw ... //генерируем исключение
}
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на колличество скобок! Lemo Помощь студентам 2 01.11.2009 15:16
Расстоновка скобок Ser Общие вопросы по Java, Java SE, Kotlin 4 25.05.2009 22:53
Структуры.Баланс скобок. Влад-mego Общие вопросы C/C++ 2 20.04.2009 00:59
Расстановка скобок с помощью интерпретатора (delphi) Казанцев Андрей Помощь студентам 0 19.04.2009 19:53
Помогите, пожалуйста, обработать кнопки скобок в калькуляторе Taisja Помощь студентам 2 04.10.2008 12:42