Tôi muốn đăng ký các lớp học của mình trong một số std::map
hoặc một véc tơ, đừng nghĩ về các bản sao và như vậy bây giờ, nhưng tôi không muốn đăng ký nó trong gọi hàm dựng lớp hoặc bất kỳ hàm nào trong hàm của lớp, bằng cách nào đó thực hiện nó bên ngoài lớp, vì vậy ngay cả khi tôi không bao giờ khởi tạo nó, tôi có thể biết rằng nó tồn tại.Bằng cách nào đó đăng ký các lớp học của tôi trong danh sách
Ví dụ:
// Somehow, from outside the myclass, in a scope that will be called
//in the begining of the proccess, add "MyClass1" to a
//list so it can be instanciated later
class MyClass1{
}
Sau đó, tôi sẽ làm cho một #define
của nó hoặc nếu có thể, một bản mẫu.
Tôi không biết liệu mình có làm rõ ràng hay không ... Quan điểm của tôi là tôi cần phải biết mọi lớp học mà tôi có mà không cần phải gọi mỗi và từng lớp.
Ý tưởng của tôi là tạo ra một #define
để làm cho nó dễ dàng hơn để khai báo tiêu đề của lớp và gọi một cái gì đó sẽ đăng ký mà lớp học cụ thể vào một danh sách
này có thể được thực hiện hoặc tôi sẽ phải để ánh xạ nó bằng tay?
// desirable:
#define CLASSREGISTER(myclass) makethemagic(##myclass); class myclass {
};
tôi biết, với định nghĩa tôi không thể sử dụng thừa kế vv ... Quan điểm của tôi là cố gắng đưa ra một ví dụ về những gì tôi đã suy nghĩ để tạo ra bằng cách nào đó ...
Tôi nghĩ bạn nên thêm thẻ 'mẫu thiết kế'. – Alexandru