Tôi có lớp A và một lớp khác kế thừa từ đó, B. Tôi ghi đè hàm đang chấp nhận đối tượng kiểu A làm tham số, vì vậy tôi phải chấp nhận A. Tuy nhiên, sau đó tôi gọi các chức năng mà chỉ B có, vì vậy tôi muốn trả về false và không tiến hành nếu đối tượng được truyền không thuộc loại B.Tìm loại đối tượng trong C++
Cách tốt nhất để tìm ra loại đối tượng được truyền cho hàm của tôi là gì Là?
Điều gì làm bạn có nghĩa là phải có một chức năng ảo trong lớp cơ sở để làm cho công việc dynamic_cast. Điều đó dường như với tôi quan trọng, rằng tôi sẽ đoán. – GiCo
OK tìm thấy nó: Thông tin loại thời gian chạy (RTTI) chỉ có sẵn cho các lớp đa hình, có nghĩa là chúng có ít nhất một phương thức ảo. dynamic_cast và typeid cần RTTI. – GiCo
Không 'dynamic_cast' ném nếu nó không chuyển đổi? Có cách nào để làm điều đó mà không tạo ra một cú ném? – jww