这是什么用法(关于c++类的声明),谁能解释一下啊?

Timesboy Timesboy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

下面代码中带波浪线的到底是什么意思?请各位指点
-------------------------------
#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

...全文
评论 2
收藏 已收藏
分享
返回顶部
Timesboy
C++ 语言 65,214 成员 250,514 内容