【发布时间】:2010-11-18 04:09:47
【问题描述】:
我想在我的软件中使用一个类的前向声明,所以我可以有 typedefs
并在类完整声明中使用它们。
像这样的:
class myclass;
typedef boost::shared_ptr<myclass> pmyclass;
typedef std::list<pmyclass > myclasslist;
class myclass : public baseclass
{
private: // private member declarations
__fastcall myclass();
public: // public member declarations
__fastcall myclass(myclass *Parent)
: mEntry(new myclass2())
{
this->mParent = Parent;
}
const myclass *mParent;
myclasslist mChildren;
boost::scoped_ptr<myclass2> mEntry;
};
所以我的问题是:
这种方法有什么缺点吗?我记得一些关于前向声明的析构函数问题的讨论,但我并没有把所有的东西都拿出来。
或者有没有其他选择来实现这样的东西?
谢谢。
编辑: 我找到了我所指的讨论:here
【问题讨论】:
标签: c++ class typedef forward-declaration