Основной ответ - да. Однако дьявол кроется в деталях. В Windows с использованием компилятора Microsoft C ++ ВСЕ символы, будь то методы, переменные и т. Д., Не экспортируются по умолчанию для DLL. Вам необходимо явно экспортировать функции, классы и / или глобальные переменные. Я полагаю, что это также относится и к компилятору Borlands (я могу ошибаться).
В случае с GCC раньше все экспортировалось по умолчанию, и вы не могли его контролировать. По состоянию на пару лет назад это изменилось с добавленным атрибутом (я не могу точно вспомнить, как он назывался, но он работал аналогично Microsoft __declspec (dllexport)).
Таким образом, если вы определите класс и пометите его как экспортированный (как бы вы ни выбрали), у него будет экспортирован его конструктор. Однако, как упоминалось в предыдущем постере, из-за природы C ++ имя символа меняется в зависимости от того, какой компилятор вы используете, а также, иногда, от какой версии компилятора C ++. Это не обязательно проблема, это зависит от того, как вы хотите использовать вещи, но это означает, что вы должны знать об этом.