我有一个名为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/

10-10 11:19