Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Карандаш

Кошка

Уровни доступа

Данные-функции

 

Функции-члены (member functions), называемые также методами (methods) – это функции определенные в классе. Они являются составной частью класса и определяют качественную сторону объекта, т.е. что может делать объект этого класса (что можно с ним сделать в программе). Существуют и специальные функции-члены, такие как конструктор, деструктор и функции доступа, которые оформляются по особым правилам.

 

5. Правила объявления класса

 

Для объявления класса используется ключевое слово class за которым записывается имя класса (нового типа данных, определенного программистом). Тело класса (данные - члены, и функции - члены) располагается между фигурными скобками. Объявление класса заканчивается точкой с запятой. Объявления классов размещают в верхней части программы перед функцией main () или подключают директивой #include.

 

 

При объявлении класса можно установить различные уровни доступа с помощью ключевых слов public, private, protected. В компиляторе С++ Builder для визуальных компонентов, располагаемых на форме, добавлен уровень доступа published. По умолчанию все члены класса – данные и функции – private (закрытые).

 

7. Примеры объявлений классов

 

 

// Пример 6.2.1

// Объявление класса с открытыми данными

// Описание свойств объекта типа MyCat (кошка)

class MyCat {

public:

// открытые члены-данные

char itsName[21]; // имя

unsigned short int itsAge; // возраст

float itsWeight; // вес, кг

unsigned short int itsBreed; // порода(0-ангорская; 1-бесхвостая; 2-дикая)

unsigned short int itsColor; // цвет(0-белый; 1-черный; 2-серый)

unsigned short int itsSize; // размер для рисования (радиус)

};

// Пример 6.2.2

// Объявление класса с открытыми данными, использование typedef и enum

// Описание свойств объекта типа MyCat (кошка)

typedef unsigned short int UINT;

//породы кошек - ангорская, бесхвостая, дикая, полосатая,...

enum Breed {Angor, Manx, Wild, Tabby };

// цвет кошек - белый, черный; серый,...

enum Color {White, Black, Grey };

class MyCat {

public:

// открытые члены-данные

char itsName[11]; // имя

UINT itsAge; // возраст

float itsWeight; // вес

Breed itsBreed; // порода

Color itsColor; // цвет

UINT itsSize; // размер для рисования (радиус окружности)

};

 

// Пример 6.2.3

// Объявление класса с открытыми данными и функциями (методами)

// Описание свойств и методов объекта типа MyCat (кошка)

typedef unsigned short int UINT;

//породы кошек - ангорская, бесхвостая, дикая, полосатая,...

enum Breed {Angor, Manx, Wild, Tabby };

// цвет кошек - белый, черный; серый,...

enum Color {White, Black, Grey };

class MyCat {

public:

// открытые члены-данные

string itsName; // имя

UINT itsAge; // возраст

float itsWeight; // вес

Breed itsBreed; // порода

Color itsColor; // цвет

UINT itsSize; // размер для рисования (радиус окружности)

// открытые члены-функции (методы)

void InputFromKeyBoard(); // ввод с клавиатуры

void OutputToScreen(); // вывод на экран

void Meow(); // как говорит

void Jump(int); // как прыгает

void Draw(); // как выглядит

void Hide(); // как прячется

};

 


// Пример 6.2.4

// Пример открытого класса для описания объекта типа Pencil (Карандаш)

typedef unsigned short int USHORT;

enum Color {Single, Red, Black, Green };

// Объявление класса (class definition)

class Pencil {

public:

USHORT itsLength; // длина, мм

USHORT itsRadius; // радиус, мм

bool itsEraser; // наличие резинки

Color itsColor; // цвет

float itsPrice; // цена, гр.

};

// Пример 6.2.5

// Пример открытого класса для описания объекта типа Pencil (Карандаш)

// Объявлены открытые члены-данные и открытые функции (методы)

typedef unsigned short int USHORT;

enum Color {Single, Red, Black, Green };

// объявление класса

class Pencil {

public:

// члены-данные, свойства, поля (data members, properties, fields)

USHORT itsLength; // длина, мм

USHORT itsRadius; // радиус, мм

bool itsEraser; // наличие резинки

Color itsColor; // цвет

float itsPrice; // цена, гр.

// члены-функции, методы (member-functions, methods)

void DisplayAllToScreen() const;

void GetAllFromKeyBoard();

};

 

// Пример 6.2.6

// Пример открытого класса для описания объекта типа Pencil (Карандаш)

// Объявлены открытые члены-данные и открытые функции (методы),

// конструкторы и деструктор

typedef unsigned short int USHORT;

enum Color {Single, Red, Black, Green };

// Объявление класса

class Pencil {

public:

// члены-данные, свойства, поля (data members, properties, fields)

USHORT itsLength; // длина, мм

USHORT itsRadius; // радиус, мм

bool itsEraser; // наличие резинки

Color itsColor; // цвет

float itsPrice; // цена, гр.

// специальные функции класса

// конструкторы (constructors)

Pencil(); // default-constructor #1

Pencil(USHORT,USHORT,bool,Color,double); // constructor #2

Pencil(int); // constructor #3

// деструктор (destructor)

~Pencil();

// множество методов для работы с объектами

void DisplayAllToScreen();

void GetAllFromKeyBoard();

void SaveToFile();

void LoadFromFile();

};

 

<== предыдущая лекция | следующая лекция ==>
Данные-члены | Создание объектов
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 254; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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