Создает очередь переменных класса - не создает объектов класса. Вы должны поместить sh уже созданные объекты класса в очередь, используя другую переменную класса, которая содержит дескриптор объекта:
className objects[$];
className h;
h = new();
objects.push_back(h);
See section 7.10 Очереди IEEE 1800- 2017 LRM