Протестировал: если включать класс, полностью определённый в своём объявлении, то всё нормально компилируется с множественным включением заголовка из разных единиц компиляции. Если есть внешние определения (члены или методы класса, функции, и т.п.), то ошибка "LNK1169: one or more multiply defined symbols found" - что, вообще-то, логично.
Остаётся вопрос: если есть компактный класс и к нему несколько "внешних" операторов (как в теме
https://forum.shelek.ru/index.php/topic,14070.0.html), то другого выхода для компиляции, кроме выноса операторов и т.п. в .cpp-файл, нет?
Sands, да, насколько понимаю, так должно работать
P.S. STL помог найти ответ на вопрос: если методы и операторы идут как inline, то это решает проблему линковки.