Вы должны написать такой класс, если только вы собираетесь создать в своей программе возможность использовать другой тип контейнера или создать какую-то оптимизацию во время выполнения, но в целом вы должны знать, для чего используется контейнер, и, таким образом, вы знаете,как это используется, и это приводит к вашим потребностям.
Не создавайте класс, который вы используете, просто потому, что вы не понимаете разные контейнеры, потому что это пустая трата ресурсов.В таком случае вы должны узнать больше о нескольких основных типах контейнеров, таких как список, вектор, очередь, возможно, карта и использовать их, когда они необходимы.Единственная причина, по которой их так много, состоит в том, что в разных ситуациях требуются разные контейнеры для упрощения программирования и повышения эффективности кода.Например, списки хороши, если вы помещаете и удаляете много, а вектор быстрее, если вы читаете больше.Очереди хороши, когда есть необходимость делать вещи в точном порядке (кстати, значение priority_queue такое же, за исключением того, что вы можете использовать определенный порядок), карты хороши для хеширования текущего состояния или чего-то подобного.