主题:[讨论]用类中的static函数创造对象并返回对象指针
今天在公司的code里面发现一段:
class A
{
public:
A();
static A* createA(){
A* p_a= new A();
return p_a;
}
void dosomething(){
cout<<"doing something";
}
}
main
{
A* a=A::createA();
a->doSomething();
}
结果可以编译运行。请大虾们指教一下,这是正确的用法吗?如果是,哪种情况下可以用到这样的code.如果有问题,问题出在哪里?多谢!
class A
{
public:
A();
static A* createA(){
A* p_a= new A();
return p_a;
}
void dosomething(){
cout<<"doing something";
}
}
main
{
A* a=A::createA();
a->doSomething();
}
结果可以编译运行。请大虾们指教一下,这是正确的用法吗?如果是,哪种情况下可以用到这样的code.如果有问题,问题出在哪里?多谢!