Có cách nào để xác định một lớp Foo trong C++ đểC++ đa kế thừa ngăn chặn kim cương
- tôi có thể kế thừa từ nó
- tôi có thể không phải là "kim cương kế thừa" từ nó
Tức là
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: chỉnh sửa đẹp, không nhận ra 1. 2. auto itemizes – anon
Bạn * không * muốn sử dụng thừa kế ảo hoặc bạn không biết về nó? – Duck
Tôi không biết về nó. Tuy nhiên, tôi cũng muốn nhận được một lỗi trình biên dịch. Lớp cơ sở "Foo" tôi đang kế thừa từ là một con trỏ được tính toán lại xâm lấn. Tôi không nên có hai trường hợp của nó trong một đối tượng. – anon