Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 282; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.