Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Відкриті функції і змінні класу



} список об'єктів;

В описі класу список_об'єктів не є обов'язковим. Як і у випадку зі структурою, ви можете повідомляти об'єкти класу пізніше, по мірі необхідності. Хочаім'я_класу також необов'язково, з погляду практики, воно потрібно. Доводом на користь цього є те, щоім'я_класу стає новим ім'ям типу даних, що використовується для оголошення об'єктів класу.

Функції і змінні, оголошені усередині оголошення класу, стають, як говорять, членами (members) цього класу. За замовчуванням, усі функції і змінні, оголошені в класі, стають закритими для цього класу. Це означає, що вони доступні тільки для інших членів цього класу.

Для оголошення відкритих членів класу використовується ключове слово public, за яким слідує двокрапка. Усі функції і змінні, оголошені після словаpublic, доступні і для інших членів класу, і для будь-якої іншої частини програми, у якій утримується клас.

Нижче приводиться просте оголошення класу:

class myclass {

// закритий елемент класу

int a;

public:

void set a(int num)

int get_a();

};

Цей клас має одну закриту зміннуа, і дві відкриті функції, set_a()іget_a(). Зверніть увагу, що прототипи функцій з'являються усередині класу. Функції, що з'являються усередині опису класу, називаються функціями-членами (member functions).

Оскільки а є закритою змінною класу, вона недоступна для будь-якої функції поза myclass. Однак оскільки set_a()іget_a() є членамиmyclass, вони мають доступ до а. Більш того,set_a()іget_a() з'являються відкритими членамиmyclass і можуть викликатися з будь-якої частини програми, що використовуєmyclass.

Хоча функціїset_a() і get_a() і оголошені вmyclass, вони ще не визначені. Для визначення функції-члена, ви повинні зв'язати ім'я класу, частиною якого є функція-член, з ім'ям функції. Це досягається шляхом написання імені функції слідом за ім'ям класу з двома двокрапками. Дві двокрапки називаються операцією розширення області видимості (scope resolution operator). Наприклад, далі показаний спосіб визначення функцій-членів set_a() і get_a():

void myclass::set a(int num)

{

a=num;

}

int myclass::get_a()

{

return a;

}

Відзначимо, що іset_a() і get_a() мають доступ доа, що дляmyclass є закритою. Як уже говорилося, оскількиset_a() і get_a() є членамиmyclass, вони можуть явно оперувати з такими закритими даними.

При завданні функції-члена, користуються наступною загальною формою:

Тип ім'я класу::ім'я функції(список_параметрів)

{





Дата публикования: 2015-09-17; Прочитано: 226 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...