Использование дружественной функции

Члены класса могут быть закрытыми и открытыми. К закрытым членам класса доступ существует только внутри класса. Одна­ко часто необходимо, чтобы член класса оставался закры­тым, но некоторые внешние функции или методы имели к нему доступ. Та­кие внешние функции, которые имеют доступ к закрытым членам класса, называются дружественными функциями. Чтобы задекларировать функцию как дружественную для класса, необ­ходимо указать прототип этой функции в описании класса, предварив его ключевым словом friend. Пример использования дружественной функ­ции приведен в следующем коде.
#include 
using namespace std;
//Класс с закрытым полем:
class MyClass{
double x;
public:
MyClass(double z){x=z;}
//Дружественная функция:
friend void show(MyClass obj);
};
//Описание дружественной функции:
void show(MyClass obj){
cout << "x = " << obj.x << endl;}
int main(){
MyClass a(10);
//Дружественная функция имеет доступ к закрытым членам:
show(a);
return 0;
}
Онлайн всего: 5
Гостей: 5
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте