Добавил:
Помощь с лабораторными, контрольными практическими и курсовыми работами по: - Инженерной и компьютерной графике - Прикладной механике Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 сем 1 курс С++ / Экзамен / Lektsii_Kurakina_2_semestr.pdf
Скачиваний:
12
Добавлен:
08.08.2022
Размер:
4.82 Mб
Скачать

day=a; month=b; year=c;

}

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

dat1. print ();

dat2. set (2, 2, 2002);

Следует помнить, что dat1 и dat2 – два разных объекта одного класса, при этом элементы, т.е. данные этих объектов занимают в памяти разное место, однако, функции членов класса – общие, потому что функция–член класса может вызывать другую функцию–член того же класса или использовать элементы (данные класса) непосредственно. Точка используется только тогда, когда функция–член вызывается извне класса.

На практике объявление класса (создание шаблона) и описание функций–членов, как правило, осуществляется до main, так как не требует выделения памяти.

Выводы. Примеры

1.9 Выводы

1. Класс – это не объектные переменные, а типы (шаблоны) для создания объектов.

Общий вид шаблона класса:

class Cl_name {

private:

int n;

protected:

public:

void print (void));

};

1.При описании класса используются прототипы функции–члена класса.

2.Определение функции–члена класса осуществляется при помощи операции принадлежности :: , которая определяет, к какому классу относится эта функция. void Cl_name:: print (void) { …}

3. После описания класса можно объявить несколько объектов класса в качестве экземпляра этого класса.

Cl_name Obj1,Obj2;

5. Для доступа к элементам класса можно использовать три способа указания имени объекта:

1. Указание полного (квалифицированного) имени функции:

Obj1.Cl_name::print();

2. Непосредственное указание имени объекта и (.):

Obj1.print();

Второй вариант записи возможен в случае однозначности определения принадлежности функции print к классу Cl_name.

Если имеются функции–члены с одинаковыми именами, определённые в разных классах, необходимо использовать полное (квалифицированное) имя функции–члена класса.

3. Через указатель

Cl_name *s;

*s = &Obj1;

s->print();

1.10 Пример создания класса

Пример: создать класс, реализующий сумму двух целых чисел

/*Создать класс, реализующий сумму

двух целых чисел */

#include <iostream>

using namespace std;

class sum

{

int x,y,z;

public: void get_xy (int x1, int y1);

void summa (void);

};

void sum :: get_xy (int x1, int y1)

{x=x1;

y=y1;}

void sum :: summa (void) {z= x+y; cout<<"Сумма:"<<z;}

int main(int argc, char** argv) { int x2, y2;

sum z;

cout<<"Введите первое слагаемое: \n"; cin>>x2;

cout<<"Введите второе слагаемое: \n"; cin>>y2;

z.get_xy(x2,y2); z.summa(); return 0;

}

Соседние файлы в папке Экзамен