Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Статические функции-члены класса






    Особенностью использования статических функций-членов является то, что они также определены в единственном экземпляре и не являются безраздельной собственностью какого-то представителя класса. В связи с этим им не передается указатель this. Эта особенность статических функций-членов использу­ется при написании функций-обработчиков прерываний и callback-функций (при программировании для Windows).

    Из сказанного выше вытекает несколько важных следствий:

    > статическая функция-член может вызываться независимо от того, существует или нет какой-либо представитель класса;

    > статическая функция-член может манипулировать только статическими данными-членами класса и вызывать только другие статические функции-члены класса;

    > статическая функция-член не может быть объявлена с модификатором virtual.

    Константные данные-члены класса

    Данное-член класса может быть объявлен с модификатором const, который указывают перед типом
    константного данного. Ключевое слово const информирует компилятор, что значение данного эле­
    мента объекта не должно изменяться после инициализации. Константные данные-члены класса нель­
    зя инициализировать в конструкторе обычным образом. Список инициализации является единственным
    методом инициализации данных-констант. Приведем пример объявления константного данного и его ини­
    циализации:
    class Dot // класс точки



    Объектно-ориентированное программирование


    Лекция 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, который следует за списком па­раметров. Такая функция не может изменять значение данных-членов класса и не может вызывать не константные функции-члены класса. Приведем пример объявления константной функции-члена класса:

    class Coord { double x, y; public: Coord () double GetX () const double GetY () const void SetX (double X) void SetY (double Y) };

    // базовый класс координат

    // координаты

    x = 0; y = 0; return x; return y; x = X; y = Y;

    // открытые члены класса

    // инициализирует координаты нулями

    // константная функция возвращает координату x

    // константная функция возвращает координату y

    // передаёт заданное значение в координату x

    // передаёт заданное значение в координату y






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.