Да, нет проблем.Имейте параметр размера со значением по умолчанию -1, и просто сделайте статический if (type chooser) в классе, чтобы выбрать статический массив или динамический массив.
Внутренняя логика должна быть наиболее идентичной, отличатьсядетали могут быть легко решены с помощью перегрузки.
Тогда использование будет:
array<int> x; /* dynamic array */
array<int,10> y; /* static array */