А вы сейчас предлагаете без всякой на то необходимости решать проблему, которая еще не встала
Переворачивая задом наперед естественный порядок обучения.
BaseMatrix
же есть публичный интерфейс) любые попытки привнести архитектурную правильность в этот код до того, как автор понимает, зачем она нужна, мне представляются оверинжинирингом.
вы так уверенно телепатите и за студента, и за препода...
Я же по коду с изрядной долей вероятности могу сказать, что ТС работу с классами чуть ли не в первый раз видит.
Остаюсь при мнении, что опыт украшается правильными решениями, как торт - кремом. А тесто его замешивается на ошибках.
до уверенного владения языком ... любые попытки скакнуть сразу к SOLID, архитектуре, паттернам и прочим высокоуровневым вещам так же вредны, как обратное...
говнокод, имхо, ПОЛЕЗЕН.
выстраивание какой бы то ни было архитектуры без опыта говнокода в лучшем случае приведет к дерьмовой архитектуре, а в худшем (и более вероятном) напрочь собьет с толку и лишит ясных ориентиров.
грамотная архитектура и уменьшение связности в задаче такого уровня полезны примерно в той же степени
Скорее забивает голову не переваренным мусором, чем чему-то учит.
Есть два способа подключить DLL, статически прилинковать и LoadLibrary. Второй, разумеется, не покажет.
What was New in Version 2.0:
Detection of dynamically loaded modules, including details about which module actually called LoadLibrary to dynamically load the module. ...
Ему вообще не надо грамотной архитектуры. Ему надо, чтобы было два класса.
Поставленную таким образом задачу имеет смысл решать с минимальными интеллектуальными затратами.
std::vector<std::vector<int>>
или хотя бы написать адекватный десткрутор, освобождающий памятьget*
заставить что-то действительно возвращать
опыт разработки поддерживаемых приложений бесценен ;-) Я серьезно.
Это не начальный этап. Студент умеет программировать на процедурном языке и сейчас изучает ООП.