Объект как двумерный массив, с помощью перегрузки операции ( )

Эта статья ориентирована на тех, у кого уже есть опыт перегрузок операций и понимание механизма перегрузки. В статье демонстрируется способ использования перегрузки ( ) для создания объектов, выполняющих роль массивов.
Для понимания темы нужно знать:

  • Важно понимать взятую для примера основу:


В заложенную основу добавим метод перегрузки операции ( ) и заполним массивоподобный объект значениями, после чего выведем значения на экран. Для собственного удобства добавим ещё два метода, отдающие нам количества, заложенные для массива, обёрнутого классом. Одна из проблем, с которой можно столкнуться, это запутаться в названиях переменных. В идеале у вас должен вырабатываться собсвтенный стиль, но если вам повезёт и позднее вы устроитесь программистом, то там могут быть свои правила относительно используемого стиля кода: единственного универсального стиля нет. Просто постарайтесь не запутаться сейчас в использованных мной похожих названиях. Для элементов класса я использую префикс m_, для параметров функций использую окончание в иде чёрточки, а для названий функций прямые названия. Это мой стиль относительно показываемого кода.
Чтобы не происходило new int[0], я в классе использовал дополнительные переменные, от которых пляшем при управлении памятью. Делать их в два раза больше от актуальных размеров сейчас пока что не имеет смысла. Но при программировании динамических массивов обычно резервируют несколько дополнительных ячеек, чтобы количество операций по перераспределению памяти немного сократить. Коли так вышло, что я использовал резерв, то и сделал ближе к тому как оно будет выглядеть при динамизации класса. Динамизаци класса не описывается, это если кто-то вдруг будет сам себе развивать, то должен понимать, что использовать резервы полезно.
Теперь обновим наш класс и используем наши обновки:

Конечно, мы не используем сечас квадратных скобок вв качестве операции индексации, но это не мешает нам использовать объект как массив, что достаточно нагялно отображает работа программы.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

Добавить комментарий

Ваш e-mail не будет опубликован.

85 + = 95

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/tom-stuart-2/teoriya-vychisleniy-dlya-programmistov/?lfrom=15589587
Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Демотиватор программирование на языке ада

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок