Timesboy 2005年01月19日
这是什么用法(关于c++类的声明),谁能解释一下啊?

下面代码中带波浪线的到底是什么意思?请各位指点
-------------------------------
#ifndef _Handle_V3d_Viewer_HeaderFile
#define _Handle_V3d_Viewer_HeaderFile

//此处删去一些代码。。。。。。

class Standard_Transient;
class Handle_Standard_Type;
class Handle(Viewer_Viewer);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class V3d_Viewer;
Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(V3d_Viewer);

class Handle(V3d_Viewer) : public Handle(Viewer_Viewer) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
void* operator new(size_t size)
{
return Standard::Allocate(size);
}
void operator delete(void *anAddress)
{
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
Handle(V3d_Viewer)():Handle(Viewer_Viewer)() {}
Handle(V3d_Viewer)(const Handle(V3d_Viewer)& aHandle) : Handle(Viewer_Viewer)(aHandle)
{
}

Handle(V3d_Viewer)(const V3d_Viewer* anItem) : Handle(Viewer_Viewer)((Viewer_Viewer *)anItem)
{
}

Handle(V3d_Viewer)& operator=(const Handle(V3d_Viewer)& aHandle)
{
Assign(aHandle.Access());
return *this;
}

Handle(V3d_Viewer)& operator=(const V3d_Viewer* anItem)
{
Assign((Standard_Transient *)anItem);
return *this;
}

V3d_Viewer* operator->()
{
return (V3d_Viewer *)ControlAccess();
}

V3d_Viewer* operator->() const
{
return (V3d_Viewer *)ControlAccess();
}

Standard_EXPORT ~Handle(V3d_Viewer)();

Standard_EXPORT static const Handle(V3d_Viewer) DownCast(const Handle(Standard_Transient)& AnObject);
};
#endif

...全文
51 点赞 收藏 2
写回复
2 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告