Сообщение Re[4]: Недоучки по настоящему ООП не освоили (из-за Basic и от 01.09.2025 11:01
Изменено 01.09.2025 11:10 rg45
Re[4]: Недоучки по настоящему ООП не освоили (из-за Basic и
Здравствуйте, so5team, Вы писали:
R>>И я бы не сказал, что это какая-то широкораспространённая проблема, которая создаёт массовые неудобства.
S>Речь не про проблему, а про определения и следование этим определениям.
А из какого определения (ООП или полиморфизма) следует, что вызов consume_a и consume_b обязан дать разные результаты? Что мешает реализовать D::d, например, вот так:
http://coliru.stacked-crooked.com/a/fe324739d29727b0
Как по-мне, то это просто частный случай, а не нарушение каких-то общих требований.
R>>И я бы не сказал, что это какая-то широкораспространённая проблема, которая создаёт массовые неудобства.
S>Речь не про проблему, а про определения и следование этим определениям.
А из какого определения (ООП или полиморфизма) следует, что вызов consume_a и consume_b обязан дать разные результаты? Что мешает реализовать D::d, например, вот так:
http://coliru.stacked-crooked.com/a/fe324739d29727b0
struct D : A, B
{
void f() override {
A::f();
B::f();
std::cout << "D::f" << std::endl;
}
};Как по-мне, то это просто частный случай, а не нарушение каких-то общих требований.
Re[4]: Недоучки по настоящему ООП не освоили (из-за Basic и
Здравствуйте, so5team, Вы писали:
R>>И я бы не сказал, что это какая-то широкораспространённая проблема, которая создаёт массовые неудобства.
S>Речь не про проблему, а про определения и следование этим определениям.
А из какого определения (ООП или полиморфизма) следует, что вызовы consume_a и consume_b обязаны дать разные результаты? Что мешает реализовать D::f, например, вот так:
http://coliru.stacked-crooked.com/a/fe324739d29727b0
Как по-мне, то это просто частный случай, а не нарушение каких-то общих требований.
R>>И я бы не сказал, что это какая-то широкораспространённая проблема, которая создаёт массовые неудобства.
S>Речь не про проблему, а про определения и следование этим определениям.
А из какого определения (ООП или полиморфизма) следует, что вызовы consume_a и consume_b обязаны дать разные результаты? Что мешает реализовать D::f, например, вот так:
http://coliru.stacked-crooked.com/a/fe324739d29727b0
struct D : A, B
{
void f() override {
A::f();
B::f();
std::cout << "D::f" << std::endl;
}
};Как по-мне, то это просто частный случай, а не нарушение каких-то общих требований.