c++ new问题
class A1{};class A2{};class A3{};
std::string name="A1";
如何跟具name来创建指定实例
如 name="A1" 就实例化A1;new A1;
如 name="A3" 就实例化A3;new A3;
怎样实现动态实例?
[解决办法]
你的意思是动态的给变量起名字?
[解决办法]
class A{};
class A1:public A{};
class A2:public A{};
class A3public A{};
A *pA;
std::string name="A1";
if(name == "A1")
{
pA = new A1;
}
else if(name == "A2")
{
pA = new A2;
}
else if(name == "A3")
{
pA = new A3;
}
.......
delete pA;
[解决办法]
楼上一语贴中要害,C#中的反射
[解决办法]
2楼用工厂模式;
C++可以实现得更好,参考博客:
http://blog.csdn.net/yah99_wolf/article/details/4039493
[解决办法]
工厂模式