Язык программирования C++ для профессионалов



           

Каркас области приложения - часть 2


Теперь прикладную программу можно написать так:

class myfilter : public filter { istream& is; ostream& os; char c; int nchar;

public: int read() { is.get(c); return is.good(); } void compute() { nchar++; }; int result() { os << nchar << "characters read\n"; return 0; }

myfilter(istream& ii, ostream& oo) : is(ii), os(oo), nchar(0) { } };

и вызывать ее следующим образом:

int main() { myfilter f(cin,cout); return main_loop(&f); }

Настоящий каркас, чтобы рассчитывать на применение в реальных задачах, должен создавать более развитые структуры и предоставлять больше полезных функций, чем в нашем простом примере. Как правило, каркас образует дерево узловых классов. Прикладной программист поставляет только классы, служащие листьями в этом многоуровневом дереве, благодаря чему достигается общность между различными прикладными программами и упрощается повторное использование полезных функций, предоставляемых каркасом. Созданию каркаса могут способствовать библиотеки, в которых определяются некоторые полезные классы, например, такие как scrollbar (§12.2.5) и dialog_box (§13.4). После определения своих прикладных классов программист может использовать эти классы.




Содержание  Назад  Вперед