Điều tôi muốn làm là phát triển hai lớp cơ sở khác nhau mà không nên được kế thừa cùng nhau trong một lớp dẫn xuất. Có cách nào tôi có thể thực thi điều này tại thời gian biên dịch?Có thể ngăn chặn nhiều thừa kế các lớp cơ sở cụ thể tại thời gian biên dịch không?
class Base1 {};
class Base2 {};
class Derived1 : public Base1 {} // OK!
class Derived2 : public Base2, public Other {} // OK!
class Derived3 : public Base1, Base2 {} // Can I force the compiler to complain?
Derived1 d1; // OK!
Derived2 d2; // OK!
Derived3 d3; // Or can I force the compiler to complain here?
Tôi biết rằng documentation là một ý tưởng hay, chỉ cần tự hỏi nếu có thể.
Tôi nghĩ rằng việc xây dựng tư nhân sẽ thực hiện thủ thuật. Nhưng nó cũng sẽ vô hiệu hóa trường hợp 'Derived2'. – littleadv
Không đủ để viết "Đừng làm điều này!" trong tài liệu? –