Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Void CTime :: Display ( void )Содержание книги
Поиск на нашем сайте
{ char s [32]; sprintf(s,“Data:%02d/%02d%/%04dTime:%02d:%02d\ n”=,month, day, year, hour, minute); cout << s;}
У даному прикладі клас CTіme - усього лише шаблон, схема, що описує формат членів класу, для роботи з ним необхідно створити об'єкт цього класу (у прикладі це object). При ініціалізації даних-членів класу використовується оператор крапки (object.day) для доступу до членів об'єкта класу. Варто пам'ятати, що оператор крапки виконують для посилань на відкриття дані члени класу аналогічно посиланням на члени структури. Якщо таким членом є функція, то С++ викликає функцію, що виконує деякі операції над даними-членами об'єкта класу. Наприклад, якщо в програмі оголосити інші об'єкти класу CTіmе CTіme today; CTіmе tomorrow; CTіmе yesterday; то для цих об'єктів функцію Dіsplay можна викликати в такий спосіб: today. Dіsplay (); - відображення значення об'єкта класуtoday; tomorrow. Dіsplay (); - відображення значення об'єкта класу tomorrow; yesterday. Dіsplay (); - відображення значення об'єкта класу yesterday; Доступ до даних-членів класу, специфікатори доступу. В одному класі можуть бути присутнім дані-члени, для деяких з який доступ відкритий, а для деяких - закритий. Для організації доступу використовують специфікатори доступу: prіvate - доступ закритий; publіc - доступ відкритий. Звичайно prіvate використовується для даних-членів класу з метою сховати від користувача деталі збереження даних в об'єктах, у той же час забезпечуючи їх методами використання цих даних. У результаті можна модернізувати способи збереження й обробки даних у середині класу, не переписуючи при цьому методи доступу і виклику їх у зовнішньому коді.
Обмеження доступу до членів класу Клас Рисунок 2 - Члени класу закриті за замовчуванням, але використання специфікатора prіvate бажано. У класі можуть бути присутнім численні відкриті і закриті секції, що розташовуються в довільному порядку. Для використання закритих даних-членів існує лише один спосіб - виклик відкритих функцій-членів класу. Закриті (prіvate) члени класу доступні тільки членам того класу і нікому більше, закриті члени невидимі поза класом.
# include < iostream.h > #include <stdio.h> class CTime { private: int year; int month; int day; закриті дані члени int hour; int minute; public: void Display(void); void Get Time(int&m,int&d,int&y,int&h2,int&min); void Set Time (int m,int d,int y,int h,int min); } main () { CTime obj1; // об’єкт типу CTime int month, day, year, hous, minute; obj1. Set Time (7, 14, 2003, 8, 30); cout <<“obj1==“; obj1.Display(); obj1.Get Time(month, day, year, hous, minute); obj1. Get Time(month, day, year, ++hous, minute); cout <<“ Next hous==“; obj1.Display(); return ();} void CTime::Display(void) Оператор дозволу { області видимості char s [32]; Sprintf(s,“Data:%02d/%02d%/%04d Time:%02d:%02d\n” =,month, day, year, hour, minute); cout <<s; } void CTime::Get Time(int&m,int&d,int&y,int&h2,int& min); } m=month; // Повернення даних-членів тому, хто викликав функцію d=day; y=year; h2=hare; min=minute; } void CTime:: Set Time (int m, int d, int y, int h, int min); { month = m; // Присвоювання аргументів даним-членам. day = d; year = y; hare = h2; minute = min; } Вбудовані функції-члени У більшості випадків виклики функцій-членів замість прямого доступу до даних-членів помітно позначаються на швидкодії програми. Звичайно, у наш час необхідна гранична ефективність. Для цього С++ дозволяє повідомляти класи з функціями-членами, що вбудовуються. Функції-члени, що хоч вбудовуються, використовуються так само, як і інші функції, у скомпільованому коді вони не викликаються, а вставляються безпосередньо в скомпільовану програму: (див. рис) Рисунок 3 - Наприклад # include < iostream.h > # include < time.h > # include < string.h > Class CTime { private:
рublic: void Display(void) {cout<<ctime(&dt);} void Get Time (int & m, int & d, int & y, int & h2, int & min); void Set Time (int m, int d, int y, int h, int min ); char * Get STime (void) { char *cp = strdup (ctime (& dt)); } return cp; } void Change Time(long n minutes){ dt+=(n minutes´60);} //зсув в часі додає до поточного часу n mіnutes хвилин }
|
||||||||
Последнее изменение этой страницы: 2016-04-18; просмотров: 384; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.165.243 (0.006 с.) |