Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

06 классы 4

.pdf
Скачиваний:
8
Добавлен:
27.03.2015
Размер:
173.6 Кб
Скачать

06 – 01

2.12.Дружественные функции и классы

Функция-друг класса

Класс-друг класса

Пример: Класс B – друг класса A

class A { friend class B;

...

};

06 – 02

Пример: Дружественная функция

class num {

// функция-друг класса

friend void set(num &, int); private:

int x; public:

num(){x = 0;}

void print() {cout << x << endl;} };

06 – 03

// описание дружественной функции void set(num &n, int v)

{

//прямой доступ дружественной

//функции к закрытым ДЭ класса

n.x = v;

}

06 – 04

int main()

{

num ob;

cout << ”x после создания объекта: ”;

ob.print(); set(ob, 7);

cout << ”x после вызова дружественной функции: ”;

ob.print(); return 0;

}

06 – 05

x после создания объекта: 0

x после вызова дружественной функции: 7

06 – 06

2.13. Указатель this

Пример: Свойства указателя this

class num { int x;

public:

num(int); void print();

};

06 – 07

num::num(int v) { x = v; }

void num::print()

{

cout << ”x = ” << x; cout << endl;

cout << ”this->x = ” << this->x; cout << endl;

cout << ”(*this).x = ”

<<(*this).x;

}

06 – 08

int main()

{

num ob(7); ob.print(); return 0;

}

06 – 09

x = 7 this->x = 7 (*this).x = 7

06 – 010

2.14.Динамическое выделение памяти

операция new

операция delete

Пример:

int main()

{

T *p, *q; // создание указателей // на тип T

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]