Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Статические функции-члены класса
Особенностью использования статических функций-членов является то, что они также определены в единственном экземпляре и не являются безраздельной собственностью какого-то представителя класса. В связи с этим им не передается указатель this. Эта особенность статических функций-членов используется при написании функций-обработчиков прерываний и callback-функций (при программировании для Windows). Из сказанного выше вытекает несколько важных следствий: > статическая функция-член может вызываться независимо от того, существует или нет какой-либо представитель класса; > статическая функция-член может манипулировать только статическими данными-членами класса и вызывать только другие статические функции-члены класса; > статическая функция-член не может быть объявлена с модификатором virtual. Константные данные-члены класса Данное-член класса может быть объявлен с модификатором const, который указывают перед типом Объектно-ориентированное программирование Лекция 3 Функции-члены класса { const char name; // имя точки – константное данное-член double x, y; // координаты точки public: // открытые члены класса Dot (char Name, double X, double Y): name (Name), x (X), y (Y) { } Dot (char Name): name (Name), x (0), y (0) { } Константные функции-члены класса Функция-член класса может быть объявлена с модификатором const, который следует за списком параметров. Такая функция не может изменять значение данных-членов класса и не может вызывать не константные функции-члены класса. Приведем пример объявления константной функции-члена класса:
// базовый класс координат // координаты
// открытые члены класса // инициализирует координаты нулями // константная функция возвращает координату x // константная функция возвращает координату y // передаёт заданное значение в координату x // передаёт заданное значение в координату y
|