Класс Customers (Клиенты). Пространство имен.
Нельзя реализовать систему резервирования, не смоделировав клиентов, которые ее используют. Класс Customers (Клиенты), который находится в файле customers.h, поддерживает список объектов типа Customer (Клиент). Этот список также представлен в виде массива. Реализация указанного класса очень похожа на реализацию гостиничных классов, поэтому она будет приведена в общих чертах, а точнее, мы приведем лишь структуры данных и объявления общедоступных методов и свойств.
//Customer.h using namespace System; // использовать пространство имен Система; namespace 0I { namespace NetCpp { namespace Acme { // пространство имен 01 {пространство имен NetCpp // {пространство имен Acme { public _gc class Customer // класс сборщика мусора Клиент { public: int Customerld; String *FirstName; String *LastName; String *EmailAddress; private: // частный static int nextCustld = 1; // статический public: Customer(String *first, String *last, String *email) // Клиент { Customerld = nextCustId++; FirstName = first; LastName = last; EmailAddress = email; // электронная почта } }; public _gc class Customers // класс сборщика мусора Клиенты { private: // частный Customer *customers []; // Клиент static int nextCust =0; // статический public: Customers(int MaxCust) // Клиенты { customers = new Customer*[MaxCust]; // клиенты RegisterCustomer( "Rocket", //"Ракета" "Squirrel", "rocky@frosbitefalls.com"); // "Белка" RegisterCustomer( "Bullwinkle", "Moose", "moose@wossamotta.edu"); // "Американский лось" } _property int get_NumberCustomers() int RegisterCustomer( String *firstName, String *lastName, String *emailAddress) void Add(Customer *cust) // Добавить (Клиент) void ShowCustomers(int customerId) void ChangeEmailAddress( int id, String *emailAddress) // идентификатор };
Пространство имен
Код примера полностью находится в пространстве имен OI::NetCpp::Acme. Все файлы с описанием классов начинаются с директивы namespace (пространство имен). В файле TestHotel.h помешена соответствующая директива using. Определяется пространство имен OI::NetCpp::Acme следующим образом:
namespace OI { namespace NetCpp { namespace Acme { // пространство имен OI {пространство имен NetCpp // {пространство имен Acme { }}}