Giả sử tôi có giá trị không đổi (có thể là một số kiểu enum). Giả sử tôi có nhiều lớp A, B, D, v.v.Tôi có thể sử dụng số không đổi để chọn một lớp tại thời gian biên dịch, có thể sử dụng mẫu không?
Tôi có thể có thứ gì đó như thế này không?
C<1> anInstanceOfA; //This will be of type A
C<2> anInstanceOfB; //This will be of type B
C<3> anInstanceOfD; //This will be of type D
Vì vậy, có thể chọn lớp dựa trên số không đổi tại thời gian biên dịch không?
Vấn đề chung là tôi đang cố gắng chọn một hàm functor dựa trên một bảng, trong đó chỉ mục là một enum. Tôi muốn tránh polymorfism nếu có thể.
Chỉnh sửa: Đối với dự án này, tôi không thể sử dụng C++ 11, dù sao đi nữa, nhờ ai trả lời trong ngữ cảnh đó, rất thú vị khi biết.
Chỉnh sửa 2: Nói chung tôi có thể có nhiều hơn 2 lớp đích, tôi đã chỉnh sửa câu hỏi của tôi
Có thể đọc trên "mẫu nhà máy" – arne