Реализация класса СВох

Вам следует подумать о степени защиты от ошибок, которую вы хотите встроить в класс СВох. Базовый класс, который мы определили для иллюстрации различных аспектов классов, является начальной точкой, но необходимо также более глубоко рассмотреть некоторые моменты. В предложенном дизайне конструктор — слабое место, поскольку он не гарантирует правильности размерностей СВох, поэтому, возможно, первое, что вам потребуется сделать, — это гарантировать, что вы всегда получите корректные объекты. Чтобы это сделать, можно переопределить базовый класс, как показано ниже.

Теперь конструктор безопасен, потому что любая размерность, которую пользователь класса попытается указать как отрицательное число или нуль, в конструкторе автоматически заменяется единицей. Вы можете также вывести в этом случае сообщение, поскольку это, очевидно, ошибочная ситуация, и произвольная и молчаливая установка размера в 1 может оказаться не лучшим решением.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: