Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 34 стр.

UptoLike

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

34
//класс «банк»
class bank
{ int count; //количество клиентов банка
char Name[20]; //название банка
client *spisok[10]; //массив клиентов банка
public:
bank(char *bankName){strcpy(Name,bankName);count=0;} //конструктор
friend void client::SetBank(bank &); //дружественная функция из другого класса
void PrintAll(); //функция вывода на экран информации о клиентах банка
~bank(); //деструктор
};
bank::~bank()
{ if(count)
for(int i=0;i<count;i++)
delete spisok[i];
}
void client::SetBank(bank& b)
{ b.spisok[b.count]=this; //обращение к частной компоненте spisok класса bank
b.count++; //обращение к частной компоненте count класса bank
strcpy(BankName,b.Name); //обращение к частной компоненте Name класса bank
}
void bank::PrintAll()
{ for (int i=0;i<count;i++)
spisok[i]->PrintClient();
cout<<'\n';
}
main()
{
bank SB("Сбербанк"); //создаем объект класса bank
int n;
do{
cout<<"Введите количество клиентов";
cin>>n;
}while(n>10||n<1)
client *c;
for(int i=0;i<n;i++)
{
c=new client; //создаем новый объект «клиент»
c->ReadClient(); //вводим информацию о клиенте
c->SetBank(SB); //записываем клиента в список банка
}
SB.PrintAll(); //выводим на экран информацию обо всех клиентах банка
}
В последнем примере определен новый класс bank, который содержит
такие компоненты как количество клиентов банка, название банка, список
клиентов банка. При этом классу client добавлено новое компонентное данное
//класс «банк»
class bank
{ int count;             //количество клиентов банка
  char Name[20];         //название банка
  client *spisok[10]; //массив клиентов банка
  public:
  bank(char *bankName){strcpy(Name,bankName);count=0;} //конструктор
  friend void client::SetBank(bank &); //дружественная функция из другого класса
  void PrintAll();                           //функция вывода на экран информации о клиентах банка
 ~bank();                                    //деструктор
};
bank::~bank()
   { if(count)
       for(int i=0;iPrintClient();
   cout<<'\n';
 }
main()
{
  bank SB("Сбербанк");               //создаем объект класса bank
  int n;
do{
      cout<<"Введите количество клиентов";
      cin>>n;
    }while(n>10||n<1)
  client *c;
  for(int i=0;iReadClient();           //вводим информацию о клиенте
     c->SetBank(SB);            //записываем клиента в список банка
   }
  SB.PrintAll();                 //выводим на экран информацию обо всех клиентах банка
}
       В последнем примере определен новый класс bank, который содержит
такие компоненты как количество клиентов банка, название банка, список
клиентов банка. При этом классу client добавлено новое компонентное данное


                                                 34