首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ new有关问题

2012-09-17 
c++ new问题class A1{}class A2{}class A3{}std::string nameA1如何跟具name来创建指定实例如 name

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
[解决办法]
工厂模式

热点排行
Bad Request.