这是什么用法(关于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