Студопедия

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

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

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






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






Особенностью использования статических функций-членов является то, что они также определены в единственном экземпляре и не являются безраздельной собственностью какого-то представителя класса. В связи с этим им не передается указатель 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 :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.