kuvshinovdr / OGxx

Object-oriented graph algorithm library in C++ developed for educational purposes.
MIT License
1 stars 1 forks source link

Надо ли отделять const-интерфейсы? #12

Closed kuvshinovdr closed 1 year ago

kuvshinovdr commented 1 year ago

На занятиях 23.10.19 рассматривался вопрос об отделении const-only (read-only) части интерфейсных классов в отдельные интерфейсные классы. Например, у нас мог бы быть класс Const_matrix_base с методом shape, от которого наследовали бы Matrix_base с методом reshape и Const_bit_matrix с методом get. Bit_matrix в таком случае наследовал бы и Matrix_base и Const_bit_matrix, создавая классическую проблему ромбовидного наследования с Const_matrix_base на вершине. С ней можно бороться виртуальным наследованием, но, всё же, мне не нравится этот путь.

kuvshinovdr commented 1 year ago

Выбранное мной решение: