我有一個名爲CiF
的類,我想將構造函數指針CiF
移動到名爲Cmanager
的新類中。 我想是這樣的:我如何將一個類的指針移動到另一個C++中
CiF::CiF() : Cmanager(new Cmanager(CiF THIS))
{
}
請幫助 感謝
我有一個名爲CiF
的類,我想將構造函數指針CiF
移動到名爲Cmanager
的新類中。 我想是這樣的:我如何將一個類的指針移動到另一個C++中
CiF::CiF() : Cmanager(new Cmanager(CiF THIS))
{
}
請幫助 感謝
下面的代碼顯示一個類的指針是如何給另一個構造函數。我認爲那就是你想要達到的目標。
我強烈建議你不要使用這樣的代碼,但是你沒有提供足夠的關於你的用例的信息,所以我不能給你選擇。
你可能應該看看智能指針和一般的類設計。 (如果給定的指針,你需要控制哪些類擁有對象的任何其他類,將其刪除等)
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_;
};
在上面的例子中,`class CiF`應該是前向聲明的。 – Mahesh 2011-01-08 17:50:34
採用具有CiF
和Cmanager
之間的關係的時候,我覺得它不能完成。
#include <iostream>
class Cmanager
{
};
class Cif:public Cmanager
{
Cmanager *ptr ;
public:
bar() : ptr(this)
{
} ;
};
int main()
{
Cif obj ;
return 0;
}
也許你可以展示一些代碼(或者至少是某種僞代碼)來證明你想完成什麼。 – 2011-01-08 17:32:35