Как функции, не являющиеся методами, улучшают инкапсуляцию

В книге «Как функции, не являющиеся методами, улучшают инкапсуляцию» Скотт Мейерс делится глубокими знаниями и опытом в области программирования. Автор рассматривает, как использование функций, которые не являются методами классов, может улучшить инкапсуляцию кода.

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

Вы можете бесплатно прочитать книгу онлайн на сайте библиотеки Ридания.

Читать полный текст книги «Как функции, не являющиеся методами, улучшают инкапсуляцию» бесплатно вы можете в нашей web читалке. Просмотрите оглавление, чтобы перейти сразу к желаемой части книги. Скачать fb2 файл книги (0,03 MB) можно по этой ссылке, если вы предпочитаете свою читалку.

«Как функции, не являющиеся методами, улучшают инкапсуляцию» — читать онлайн бесплатно

Когда, в 1991 г., я писал первое издание "Эффективное использование C++" (Effective C++ [1]), я изучал проблему определения функций, связанных с классом. Для заданного классаCи функцииf, связанной сC, я разработал следующий алгоритм:

if (f необходимо быть виртуальной) сделайте f функцией-членом C;

else

if (f – это operator›› или operator‹‹) {

сделайте f функцией – не членом;

if (f необходим доступ к непубличным членам C) сделайте f другом C;

}

else if (в f надо преобразовывать тип его крайнего левого аргумента) {

сделайте f функцией – не членом;

if (f необходимо иметь доступ к непубличным членам C) сделайте f другом C;

} else сделайте f функцией-членом C;

Этот алгоритм хорошо служил мне многие годы, и когда я правил "Эффективное использование C++" для второй издания в 1997 г. [2], я не сделал никаких изменений в этот алгоритм.

Читать дальше