Olası Çoğalt:
C++
Is there a way to instantiate objects from a string holding their class name?Yalnızca bir ismini bilen bir nesneyi nasıl uygulayabilirim?
, ben olsun dize bağlı olarak çalışma anında oluşturulacak benim kullanıcı nesne türü adı girin olmasını istiyoruz ve Onlardan, program doğru nesneyi başlatacaktır (kısaca, fabrika yöntemini uygulayacağım). Ancak, program yeni bir nesne türünü desteklemeli, mevcut kodu değiştirmeye izin verilmez.
Yani benim program, birçok dışında (belirli bir ürün türünün doğru nesnenin örneğini yönteminden tüm eğer ... else if ... else if ... şeyler kaldırmak ve hala sahip olmak mümkündür, sadece derleme zamanında bilinen)?
My arama
etrafında bana bu linki var: Is there a way to instantiate objects from a string holding their class name? ve buna istediğim bu gibi görünüyor ama ben hiç kod anlayamıyorum.Herhangi bir yardım gerçekten takdir edilecektir.
@CharlesB yansımasına ihtiyacınız yok, bir fabrika kullanabilirsiniz. –
@LuchianGrigore: fabrika tasarım desenidir, yansıma bir dil özelliğidir. Eğer if..else..else olmadan çalışan bir fabrika istiyorsan ... – CharlesB