Czy istnieje sposób, aby zdefiniować klasę Foo w C++ tak żeC++ dziedziczenie wielokrotne zapobiegania diament
- mogę dziedziczyć z niej
- nie mogę „diament dziedziczą” z niego
Tzn.
class Cat: public Foo{} // okay
class Dog: public Foo{} // okay
class Weird: public Cat, public Dog {} // I want this to throw a compiler error
@vava: dobra edycja, nie zdałem sobie sprawy 1. 2. auto itemizes – anon
Nie * chcesz używać wirtualnego dziedziczenia lub nie jesteś tego świadomy? – Duck
Nie wiedziałem o tym. Jednak chciałbym również uzyskać błąd kompilatora. Podstawowa klasa "Foo", z której dziedziczę, jest inwazyjnym wskaźnikiem ref-counted. Nie powinienem mieć dwóch instancji w obiekcie. – anon