我有一个名为CiF
的类,我想将CiF
的构造函数指针移至名为Cmanager
的新类。
我尝试过这样的事情:
CiF::CiF() : Cmanager(new Cmanager(CiF THIS))
{
}
请帮忙
谢谢
最佳答案
以下代码显示了如何在ctor中将一个类的指针赋予另一个类。我认为这就是您想要实现的目标。
我强烈建议您不要使用这样的代码,但是您没有提供有关用例的足够信息,因此我无法为您提供其他选择。
您可能应该研究智能指针和通用类设计。 (当提供指向任何其他类的指针时,您需要控制拥有该对象的类,将其删除等)
class CiF;
class Cmanager
{
public:
Cmanager() :
cif_(0)
{};
void setCiF(CiF* cif)
{
cif_ = cif;
}
private:
CiF* cif_;
};
class CiF
{
public:
CiF() :
cmanager_(Cmanager())
{
cmanager_.setCiF(this);
}
private:
Cmanager cmanager_;
};
关于c++ - 我如何在C++中将一个类的指针移动到另一类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4635154/