Иллюстрированный самоучитель по Architecture .NET

Коллекции. Пример класса ArrayList (Список массивов).

Класс Customer (Клиент)

Все файлы с исходными кодами программы-примера находятся в папке Customer-Collection. В файле customer .h находится реализация классов Customer (Клиент) и Customers (Клиенты). Исходный код для класса Customer (Клиент) почти такой же, как приведенный ранее. Единственное добавление – специальный конструктор, инициализирующий объект Customer (Клиент) заданным идентификатором. Этот конструктор используется классом Customers (Клиенты) при удалении элемента (UnregisterCustomer) и при проверке того, присутствует ли в коллекции некоторый элемент (Checkld).

_gc class Customer
// сборщик мусора – класс Клиент
{
pmblic:
Customer(int id) // Клиент (int-идентификатор)
{
nCustomerld = id; // идентификатор
pFirstName = "";
pLastName = "";
pEmailAddress = "";
}
};

Класс Customers (Клиенты) содержит список клиентов, хранимый в ArrayList (Список массивов).

_gc class Customers // сборщик мусора – класс Клиенты
{
private: // частный
ArrayList *pCustomers;
public:
Customers() // Клиенты
{
pCustomers = new ArrayList;
RegisterCustomer(
"Rocket", // Ракета "Squirrel",
// Белка "rocky@frosbitefalls.com");
RegisterCustomer("Bullwinkle",
"Moose", // Американский лось "moose@wossamotta.edu");
}
int RegisterCustomer(String *pFirstName, String *pLastName, String *pEmailAddress)
{
Customer *pCust = new Customer(// Клиент
*pCust = новый Клиент
{
pFirstName, pLastName, pEmailAddress);
pCustomers › Add(pCust); // Добавить return pCust › nCustomerId; }
void UnregisterCustomer(int id) // идентификатор {
Customer *pCust = new Customer(id);
// Клиент *pCust = новый Клиент (идентификатор);
pCustomers › Remove(pCust);
}
void ChangeEmailAddress(int id, String *pEmailAddress)
// (int идентификатор, Строка *pEmailAddress)
{
lEnumerator *pEnum =
pCustomers-XSetEntimerator ();
while (pEnum › MoveNext())
{
Customer *pCust = // Клиент
dynamic_cast<Customer *>(pEnum › Current); // Клиент
if (pCust › nCustomerId == id)
// если (pCust › nCustomerld == идентификатор)
{
pCust › pEmailAddress = pEmailAddress;
return;
}
}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.