КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Class carПример. Элементы-функции Элементы класса Class man Пример { private: char name[10]; char adres[20]; public: void get_info(); void put_info(); }; В этом примере показано,что, кроме данных о человеке, есть еще две функции для ввода и вывода этих данных: get_info(),put_info(). В языке С элементы структуры доступные для другой функции в границах ее области действия. Это часто приводит к изменению данных из-за невнимательности. В С++ можно ограничить видимость данных и функций класса с помощью меток public,protected,private. Метка-спецификатор доступа применяется ко всем элементам класса, которые следуют за ней, пока не встретится другая метка или закончится определение класса. Если спецификатор доступа private, это означает, что элементы данных и функции-элементы доступные только для функций-элементов данного класса. Если public, то элементы данных и функции-элементы доступные для функций-элементов и других функций программы, в которых есть представитель класса. Если protected, то элементы данных и функции-элементы доступные для функций-элементов данного класса и классов, производных от него. В С++ структура, класс и объединение рассматриваются как типы классов.Структура и класс похожие за исключением доступа по умолчанию. В структуре по умолчанию элементы имеют доступ public,а в классе- private. Объединение по умолчанию дает доступ public. Аналогично объединению в С его элементы данных размещаются,начиная с одного и того же места в пам΄яти.
Делятся на две категории: -данные, которые называются элементами-данными (data members); -элементы-функции (member functions) или методы. Элементы-данные похожи на элементы структуры языка С с некоторыми дополнениями: -Элементы данных не могут определяться как auto,extern,register. -Элементами данных могут быть перечисляемые типы, битовые поля или представители ранее представленного класса. -Элементом данных не может быть представитель именно этого класса. -Элементом данных класса может быть указатель или ссылка на представителя этого класса.
Элемент-функция описывается при определении класса. Само определение функции может также быть приведено внутри определения класса.В этом случае функция является встроенной (inline) функцией-элементом. Если определение функции приводится вне границ определения класса, то перед ее именем ставится префикс из имени класса и операции разрешения видимости(::). { private: char marka[10]; char color[15]; float cost; public: void get_info(); void put_info() { printf(“Марка автомобиля %s\n”,marka); printf(“Его цвет %s\n”,color); printf(“Цена -%f\n”,cost); } }; void car::getinfo() { puts(“Введите марку автомобиля”); fflush(stdin); scanf(“%s”,&marka); puts(“Введите его цвет”); fflush(stdin); scanf(“%s”,&color); puts(“Сколько он стоит?”); scanf(“%f”,&cost); } В этом примере определение элемента-функции put_info() находится внутри определения класса car, то есть она является inline-функцией. А определение функции get_info() приведено вне границ определения класса.
Дата добавления: 2015-06-27; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |