Иногда это может раздражать, что c++ по умолчанию разрешает нарезку. Например
struct foo { int a; };
struct bar : foo { int b; };
int main() {
bar x{1,2};
foo y = x; // <- I dont want this to compile!
}
Это компилируется и работает как ожидалось ! Хотя, что если я не хочу включать нарезку?
Каков идиоматический способ написать foo
, что нельзя нарезать экземпляры любого производного класса?