LINUX.ORG.RU

[c++]templates & get_instance?

 


0

1

Доброе время суток.

Допустим есть чисто виртуальный класс АА. От него наследуются несколько разных классов (пусть ББ для примера), реализующих интерфейс АА.

И есть третий класс ВВ, который через интерфейс АА, работает с классом ББ. Тип ББ определяется во время работы программы.

Загвоздка в том, что в рамках программы должен быть только один экземпляр класса ББ. Если сделать статические методы get_instance & release_instance с подсчётом ссылок, то всё будет работать, но не хочется эти методы писать для каждого класса ББ. Нельзя ли этот функционал написать один раз. В виде шаблона, или как-то АА расширить?

С утра сижу думаю, как такое сделать, но сегодня не выспался, смотрел с друзьями футбол, голова не варит. Надеюсь на коллективный разум лора. Мнения анонимных аналитиков приветствуется, так что не стесняйтесь, высказывайтесь, дискутируйте.

Спасибо.

[c++] [..]

несколько разных классов (пусть ББ для примера) [..]

Тип ББ определяется во время работы программы.

у классов типы уже успели ввести, да ещё и в рантайме, это точно С++?

Загвоздка в том, что в рамках программы должен быть только один экземпляр класса ББ.

man singleton pattern

shty ★★★★★
()
Ответ на: комментарий от mi_estas

Короче всё, я понял. Вот тут с примерами есть.

Спасибо.

mi_estas
() автор топика
Ответ на: комментарий от mi_estas

>Т.е. АА в моем примере должен быть чисто виртуальным, и синлтоном одновременно?

ну при желании, ты ББ можешь унаследовать от обычного AA и синглтона, соответственно синглтноном будет только ББ

s0L
()

Почитай Александреску. У него целая книга про такие задачи.

AST-PM-105
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.