Читайте также:
|
|
Защищенные компоненты (protected) доступны внутри класса и в производных классах.
Собственные компоненты (private) локализованы в классе и не доступны извне
Через общедоступные компоненты (public) осуществляется взаимодействие класса с любыми частями программы.
Расширить интерфейс класса позволяют дружественные функции.
Дружественной функцией класса называют функцию, которая не является компонентной функцией класса, но имеет доступ к защищенным и собственным компонентам класса.
Дружественная функция
1) должна быть описана в теле класса соспецификатором friend;
2) не может быть компонентной функцией класса, в котором она определена
как дружественная;
3)может быть глобальной: class A { friend void f(…); … };
void f (…) { …}
4) может быть компонентной функцией другого ранее определенного класса;
class A { … void f1(…); …};
classB { … friend void A:: f1(…); …};
5) может быть дружественной по отношению к нескольким классам
class A; // опережающее описание класса
classB { …friend void ff (A, B); …};
class A { …friend void ff (A, B); …};
void ff (A tip1, B tip2) { тело функции}
Пимер #include<conio.h>
Class ch { int x, y; char c;
friend void pch (ch*ptr, char cc);
Public:
Ch(int xx, int yy, char cc) // конструктор
{ x=xx; y =yy; c =cc; }
Void disp (void)
{ gotoxy(x,y); putch(c); }
}
void pch (ch*ptr, char cc)
{ ptr->c=cc;}
Дата добавления: 2015-07-20; просмотров: 28 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Параметров) | | | StrokaZ; |