Я не понимал, чем одна архитектура отличается от другой
< hr />
Архитектура А: 100% чистые интерфейсы/ромбовидное наследование
Код: Выделить всё
/* Architecture A : Interfaces stay 100% pure. There is a diamond solved by virtual inheritance. */
// IReusableBase and AReusableBase are meant to be used in new projects with same architecture
// They serve as some kind of "template"
class IReusableBase
{
public:
virtual void funcReusableBase_Common() = 0;
virtual void funcReusableBase_Specific() = 0;
};
class AReusableBase : public virtual IReusableBase
{
protected:
int base = 0;
public:
virtual void funcReusableBase_Common() override { std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79123930/is-there-any-benefit-in-keeping-interface-100-pure[/url]
Мобильная версия