Dynamic_cast nên thực hiện các mẹo
TYPE& dynamic_cast<TYPE&> (object);
TYPE* dynamic_cast<TYPE*> (object);
Các dynamic_cast
từ khóa phôi một dữ liệu từ một con trỏ hoặc tham chiếu loại khác, thực hiện một kiểm tra thời gian chạy để đảm bảo tính hợp lệ của các diễn viên.
Nếu bạn cố gắng chuyển sang con trỏ đến một loại không phải là một loại đối tượng thực tế, kết quả của việc truyền sẽ là NULL. Nếu bạn cố gắng truyền để tham chiếu đến một loại không phải là một loại đối tượng thực tế, thì diễn viên sẽ ném bad_cast
ngoại lệ.
Đảm bảo có ít nhất một hàm ảo trong lớp Base để làm cho Dynamic_cast hoạt động.
Chủ đề Wikipedia 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. Trong thực tế, đây không phải là một giới hạn bởi vì các lớp cơ sở phải có một hàm hủy ảo để cho phép các đối tượng của các lớp dẫn xuất thực hiện dọn dẹp đúng cách nếu chúng bị xóa khỏi một con trỏ cơ sở.