Язык программирования C++


Проблема использования общих функций и имен - часть 2


class Book : public Item { public: Book(); ~Book(); String Title(); String Author(); private: String title; String author; };

Определение класса – это определение всех его методов.

// определение метода Title String Book::Title() { return title; }

Определение класса должно быть только одно, и если класс используется во многих файлах, его удобно поместить в отдельный файл. В остальных файлах для того, чтобы использовать класс Book, например определить переменную класса Book, в начале файла необходимо поместить объявление класса.

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

Программа работать будет, однако писать ее не очень удобно.

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




Начало  Назад  Вперед



Книжный магазин