Ткм теория и практика формообразования заготовок


Download 1.28 Mb.
bet62/65
Sana20.12.2022
Hajmi1.28 Mb.
#1034729
1   ...   57   58   59   60   61   62   63   64   65
Bog'liq
госник 150900 шпоры2

5. С++. Классы.
Класс в программировании — это тип данных, имеющий некоторые общие черты с типом структуры. Объекты (экземпляры) класса - это переменные такого типа. Класс, как и структура, может содержать поля данных. Кроме этого, класс может содержать методы (т.е. функции, процедуры).
Определение (объявление) класса в языке C++ выглядит следующим образом:
class MyClass: public ParentClass // ParentClass — класс-предок, который должен быть определён ранее
{
public:
// элементы в этой секции доступны из любой части программы
MyClass(); // конструктор
~MyClass(); // деструктор
int classmember;
protected:
// элементы в этой секции доступны из класса и его потомков
private:
// элементы в этой секции доступны только из класса; это область доступа по умолчанию
};
В конце объявления класса ставится точка с запятой.
Если класс содержит методы (функции), то эти функции также должны быть определены.
MyClass::MyClass()
{
// определение конструктора
}
MyClass::~MyClass()
{
// определение деструктора
}
После объявления класс считается полноценным типом данных и, экземпляры класса могут быть созданы следующим образом:
MyClass myinstance;
Обращение к членам класса:
myinstance.classmember
Уничтожается экземпляр класса, как и любая переменная, только в случае, если функция, в которой он был создан, завершила работу или если была принудительно освобождена динамическая память, выделенная под экземпляр.
6. C++. Методы.

Описание функций в теле класса


В теле класса можно указать только заголовок функции, а можно описать всю функцию (см. пример с функцией Alloc ниже. В этом случае она считается встраиваемой (inline))

Константные функции-члены


Нестатические функции-члены (и только они) могут иметь описатель const
class Array
{
...
inline double operator[] (int n) const;
Такие функции не имеют права изменять поля класса (кроме полей, определённых как mutable). Если они пытаются это сделать, компилятор должен выдать сообщение об ошибке.


Download 1.28 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   65




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling