Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
{ cot::count(500); …
//изменение статического компонента до объявления объектов
}
5) Указатели на компоненты класса
Определение указателя на компонентные данные класса:
тип данных(имя класса::*имя указателя)
В определение можно включить и инициализацию
& имя класса:: имя компонента
int (stroka::*plen)=&stroka::len;
// -не верно, т.к. len – имеет статус private
При инициализации надо использовать общедоступные компоненты.
После объявления объекта к его компонентам следующий формат обращения через указатель:
имя объекта.* указатель на компонент данных;
Если определен указатель на объект формат обращения:
Указатель на объект-> *указатель на компонент данных;
Определение указателей на компонентные функции
Тип возвращаемого результата (имя класса::*имя указателя на метод)
(спецификация параметров функции);
void (book::*fprt)(void) = & book::show_book;
// определение указателя на компонентные функции класса book и
// инициализация указателя компонентной функцией show_book
И форматы обращения к методам через указатели:
Имя объекта.*указатель на метод(параметры);
Указатель на объект-> *указатель на метод (параметры);
Пример:
book A (“C и C++”, “Б.И.Березин», 40.0); // определен объект
void (book::*fprt)(void) = & book::show_book;
(A.*fptr) () // выведет на печать значения объекта
Если в определении класса было бы несколько идентичных функций указатель fptr можно “настроить” на другие функции
Дата публикования: 2014-11-28; Прочитано: 187 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!