Cho class A có virtual string name() const { return "A"; } và virtual destructor. B kế thừa virtual A và override name() => "B". C kế thừa virtual A và override name() => "C". D kế thừa B và C, override name() => "D". Đọc n, sau đó n ký tự (A/B/C/D). Với mỗi ký tự, tạo đối tượng đúng class và gọi qua con trỏ A*, in ra name().
Dòng 1: n. Dòng 2: n ký tự cách nhau bởi dấu cách.
1 <= n <= 1000
N dòng tương ứng.
Ví dụ:
Đầu vào:
4
A B C D
Đầu ra:
A
B
C
D
Giải thích:
Đang tải editor...