Tôi có một bộ khá phức tạp các lớp C++ được viết lại từ Java. Vì vậy, mỗi lớp có một lớp kế thừa duy nhất, và sau đó nó cũng thực hiện một hoặc nhiều lớp trừu tượng (hoặc giao diện).Giao diện Qt hoặc lớp trừu tượng và qobject_cast()
Có thể sử dụng qobject_cast()
để chuyển đổi từ lớp học sang một trong các giao diện không? Nếu tôi lấy được tất cả các giao diện từ QObject
, tôi gặp lỗi do tham chiếu QObject
mơ hồ. Tuy nhiên, nếu tôi chỉ có lớp cơ sở được kế thừa từ QObject
, tôi không thể sử dụng qobject_cast()
do hoạt động với QObject
s.
Tôi muốn có thể ném xung quanh các lớp giữa các plugin và DLL được tham chiếu bởi giao diện của chúng.
Khi tôi đọc thêm tài liệu, tôi không chắc chắn những gì tôi muốn làm là có thể ... và điều đó không tốt. Tôi có thể sử dụng RTTI dựa .dynamicCast() nhưng nó không âm thanh như thế sẽ luôn luôn làm việc trên ranh giới DLL. –
Tôi thấy điều này: http://stackoverflow.com/questions/3201273/qt-moh-multiple-inheritance-problem vì vậy tôi đoán nó đã được yêu cầu. –