Информация об изменениях

Сообщение Re[4]: Недоучки по настоящему ООП не освоили (из-за Basic и от 01.09.2025 11:01

Изменено 01.09.2025 11:04 rg45

Re[4]: Недоучки по настоящему ООП не освоили (из-за Basic и
Здравствуйте, so5team, Вы писали:

R>>И я бы не сказал, что это какая-то широкораспространённая проблема, которая создаёт массовые неудобства.


S>Речь не про проблему, а про определения и следование этим определениям.


А из какого определения (ООП или полиморфизма) следует, что полиморфное поведение должно быть реализовано только так, как показано у тебя в примере, а не, например, как в примере ниже?

http://coliru.stacked-crooked.com/a/dabd5c8435753bd4

struct D : A, B
{
  void f() override {
    std::cout << "D::f" << std::endl;
    A::f();
  }
};


Как по-мне, то это просто частный случай, а не нарушение каких-то общих требований.
Re[4]: Недоучки по настоящему ООП не освоили (из-за Basic и
Здравствуйте, so5team, Вы писали:

R>>И я бы не сказал, что это какая-то широкораспространённая проблема, которая создаёт массовые неудобства.


S>Речь не про проблему, а про определения и следование этим определениям.


А из какого определения (ООП или полиморфизма) следует, что полиморфное поведение должно быть реализовано только так, как показано у тебя в примере, а не, например, как в примере ниже?

http://coliru.stacked-crooked.com/a/fe324739d29727b0

struct D : A, B
{
  void f() override {
    A::f();
    B::f();
    std::cout << "D::f" << std::endl;
  }
};


Как по-мне, то это просто частный случай, а не нарушение каких-то общих требований.