This has been stumping me rather thoroughly for a good portion of the day today so I'd appreciate it if anyone can offer any help.
I basically need to be able to create a new instance of an arbitrary class using a string assigned to be its name. An example of what I'd like to be able to do is:
SomeBaseType *x = new mapStringObjectName["someClassNameString"]; //mapStringObjectName is std::map<string, ?not sure what this one should be?>
I've tried a bunch of different ways to do this and I'm trying to avoid having to just make a large switch statement to do this, but its just eluding me.
For example, "document" would create an instance of CDocument and "someotherthing" would create an instance of COtherThing, both of those would derive from CObject.
I'm thinking I may need each derivative to have its own CreateInstanceOfMe function to be called and a static initializer to add itself to the map but I'm not sure how to go about that.
China based gaming consultant Daniel Olimac says Black Myth Wukong releasing on Xbox exactly 1 year after the PS5 release has nothing to do with a Sony exclusivity deal “I know it has nothing to do with an exclusive agreement with Sony.
Game Science has been using August and the 20th for announcements since 2020.” “Indeed, it may seem like a big coincidence that it is one year after the launch on PS5, but that is exactly what it is: a coincidence. The date of August 20, 2024 was not random. It is a special date for the studio, and they continue to use it.”
Yes, I bought 8 of the 2025 models in various sizes for a reginal office I opened a few months ago. They work well for the price, and have surprisingly good built-in sound. I used the 85" model in a conference room, and the amp for the ceiling speakers ended up being on backorder, so I routed the conference audio to the TV. It not only worked, but the employees said they didn't even notice a difference (I did, but still very passable performance).
Question
fhpuqrgrpgvirzhpujbj
This has been stumping me rather thoroughly for a good portion of the day today so I'd appreciate it if anyone can offer any help.
I basically need to be able to create a new instance of an arbitrary class using a string assigned to be its name. An example of what I'd like to be able to do is:
I've tried a bunch of different ways to do this and I'm trying to avoid having to just make a large switch statement to do this, but its just eluding me.
For example, "document" would create an instance of CDocument and "someotherthing" would create an instance of COtherThing, both of those would derive from CObject.
I'm thinking I may need each derivative to have its own CreateInstanceOfMe function to be called and a static initializer to add itself to the map but I'm not sure how to go about that.
Link to comment
https://www.neowin.net/forum/topic/964230-c-map-strings-to-class-types/Share on other sites
2 answers to this question
Recommended Posts