Как реализовать функцию Create() для производных классов в C++ ⇐ C++
Как реализовать функцию Create() для производных классов в C++
Как мне написать функцию Create(), чтобы она работала и с производными классами, что позволило бы мне вызывать A a = A::Create();?
Базовый класс { публика: используя Id_t = int32_t; статический std::shared_ptr Create() { статический Id_t CurrentId = 0; return std::make_shared(CurrentId++); } Id_t GetId () const { возвращаемый идентификатор; } частный: База (Id_t ObjectId): Id {ObjectId} {} Ид_т Ид; }; класс A: общедоступная база { };
Как мне написать функцию Create(), чтобы она работала и с производными классами, что позволило бы мне вызывать A a = A::Create();?
Базовый класс { публика: используя Id_t = int32_t; статический std::shared_ptr Create() { статический Id_t CurrentId = 0; return std::make_shared(CurrentId++); } Id_t GetId () const { возвращаемый идентификатор; } частный: База (Id_t ObjectId): Id {ObjectId} {} Ид_т Ид; }; класс A: общедоступная база { };
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как специализировать функцию шаблона для всех производных классов в C++? [дубликат]
Anonymous » » в форуме C++ - 0 Ответы
- 74 Просмотры
-
Последнее сообщение Anonymous
-