Материалы книги получены с http://www.itlibitum.ru/
make-функции
На сцену выходят производящие функции. По общепринятому соглашению их простейшая форма называется makeFoo(), где Foo - имя генерируемого класса.
class Grandpa {
public:
static Grandpa* makeDad(); // Создает экземпляры Dad
static Grandpa* makeAuntieEm();
};
// В Grandpa.cpp
Grandpa* Grandpa::makeDad()
{
return new Dad;
}
Grandpa* Grandpa::makeAuntieEm()
{
return new AuntieEm;
}
О существовании конкретных производных классов по-прежнему известно всем, однако настоящие интерфейсы Dad и AuntieEm надежно спрятаны от любопытных глаз.
Назад Содержание Далее
|