Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kontrolnaya_2_kurs_2013 (1).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
399.36 Кб
Скачать

Задание 1. Простейшие классы и объекты

Цель заданияизучение приёмов объектного программирования с использованием классов, объектов, конструкторов, деструкторов.

Основные понятия

Класс представляет собой тип, определяемый пользователем, и в простейшем случае имеет вид:

сlass имя_класа{

//члены класса

};

Объект – это экземпляр класса или переменная типа класс. Класс задаёт целую категорию объектов

Список членов класса включает данные-члены (далее – данные), представляющие объект, и функции-члены (далее – функции), выполняющие действия над ними. Все объекты имеют общие функции, но каждый объект создаёт и поддерживает свои собственные данные.

По умолчанию все данные и функции класса являются закрытыми (private), т.е. доступны только в пределах класса. Чтобы сделать их доступными вне класса, используется модификатор public. Обычно данные класса объявляются как private, а функции – как public:

class Samp{

int n, m; // private-данные

public:

init(); // public-функции

};

Для создания объекта испольуют имя класса как спецификатор типа данных:

Samp ob1; // создание объекта ob1 класса Samp

Доступ к закрытым членам класса осуществляется через открытые функции класса. К открытым членам класса можно обращаться, используя имя объекта и операцию точка (.):

ob1.init(); // вызов функции init()

Функции класса определяют как обычные функции, но перед именем функции пишется имя класса и операция разрешения области видимости (::):

Samp::init(){ // определение функция init() класса Samp

n = 10; m = 20;

}

Определение функции класса может находиться и внутри описания класса. Такие функции называются inline-функциями.

Дружественные функции – это функции, которые не являются членами класса, но имеет доступ к закрытым членам класса (но только через объект). Отличительным признаком дружественной функции является ключевое слово friend. Дружественная функция задаётся и вызывается как обычная функция, может быть дружественной более чем одному классу, может быть членом одного класса и дружественной другому.

Конструктор – это специальная функция класса, которая вызывается автоматически при создании объекта и предназначена для его инициализации. Конструктор должен иметь тоже имя, что и класс, должен быть открытым членом класса, может быть перегружен, может иметь параметры, но не может возвращать значение, даже типа void. Если класс не содержит ни одного конструктора, конструктор по умолчанию создаётся компилятором как функция без параметров и с пустым телом.

Конструктор по умолчанию – это конструктор, который совсем не имеет параметров или у которого все параметры заданы как аргументы по умолчанию (их можно задавать только в прототипе конструктора внутри определения класса). Класс может иметь только один конструктор по умолчанию.

Деструктор – это функция класса, которая вызывается автоматически при удалении объекта. Имя деструктора начинается c символа тильды (~), непосредственно за которым следует имя класса. Деструктор не может иметь параметров, не может возвращать значение, его нельзя перегружать. Класс должен иметь только один деструктор или ни одного, в этом случае он создаётся компилятором как пустая функция (без параметров и с пустым телом).