Программирование и основы алгоритмизации. Макаров В.Л. - 123 стр.

UptoLike

Составители: 

123
Другой пример использования дружественной функции для доступа к закры-
тому элементу приведен на рис.16.11. В программе используется дружествен-
ная функция SUM() для установки закрытого элемента данных sum (сумма
вклада) класса Clients.
Конструктор задает закрытому элементу данных sum начальное нулевое зна-
чение. Передача параметров в дружественную функцию осуществляется по
ссылке.
// Пример
использования дружественной функции
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
#include <iomanip.h>
// Простой класс Clients
class Clients {
friend void SUM (Clients& , float ) ; //объявление дружественной функции
public:
Clients() { sum=0; } // конструктор
// Открытые данные - элементы
int account; // номер счета
char name[20]; //массив символьных переменных
void print (); // функция-элемент
private:
float sum; // закрытые данные-элементы
};
void SUM(Clients& c, float val) // описание дружественной функции
{
c.sum = val;
}
void Clients::print () // описание функции-элемента
{
cout<<endl<< "счет"<<setw(13)<<"имя"<<setw(15)<<"сумма"<<endl;
cout<<setiosflags( ios::left)<<setw(14)<< account<<setw(13)<<name
<<setprecision(2)<<setiosflags( ios::showpoint|ios::right)
<< sum<<endl<<endl;
}
main ( )
{
clrscr();
Clients vcladchik; // объявление объекта vcladchik
cout << "Вывод объекта vcladchik после его создания :";
vcladchik.account = 1; //присвоение значения элементу данных account
Рис. 16.11