Альтернативные Интерфейсы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: доклад по информатике, курсовая работа по менеджменту
| Добавил(а) на сайт: Shklovskij.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
if (n->is_operator()) operators.append(n);
// ...
}
где is_iterator() и is_friend() являются функциями членами класса name. Фукнцию find() можно написать так:
int find(nlist* ll, name* n)
{
slist_iterator ff(*(slist*)ll);
ent p;
while ( p=ff() ) if (p==n) return 1;
return 0;
}
Здесь применяется явное преобразование типа, чтобы применить slist_iterator к nlist. Более хорошее решение, - сделать итератор для nlist"ов. Печатать nlist может, например, такая функция:
void print_list(nlist* ll, char* list_name)
{
slist_iterator count(*(slist*)ll);
name* p;
int n = 0;
while ( count() ) n++;
cout << list_name << "n" << n << "membersn";
slist_iterator print(*(slist*)ll);
while ( p=(name*)print() ) cout << p->string << "n";
}
Обработка Ошибок
Есть четыре подхода к проблеме, что же делать, когда во время выполнения общецелевое средство вроде slist сталкивается с ошибкой (в C++ нет никаких специальных средств языка для обработке ошибок):
Возвращать недопустимое значение и позволить пользователю его проверять;
Возвращать дополнительное значение состояния и разрешить пользователю проверять его;
Рекомендуем скачать другие рефераты по теме: большой реферат, реферат условия.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата