所以我有以下功能:
GraSys::CRectangle GraSys::CPlane::boundingBox(std::string type, std::string color)
{
CRectangle myObject = CRectangle(color);
return myObject;
}
由于boundingBox是GraSys名称空间的一部分,我必须使用它来声明此函数,为什么我不需要在函数内部执行此操作?为什么我只能使用?为什么它让我编译时没有问题?
CRectangle myObject = CRectangle(color);
插入:
GraSys::CRectangle myObject = GraSys::CRectangle(color);
希望我的问题不会引起混淆。
您正在实现在GrasSys命名空间中声明的函数。使用该函数时,可以使用声明名称空间。
为了清楚起见,请考虑:
namespace GraSys {
class CRectangle { ... };
class CPlane {
... boundingBox(...); ...
}
void example(...) { ... };
}
当实现boundingBox时,您将位于函数声明期间声明的命名空间中,即GraSys。CRectangle在GraSys中声明,因此您可以直接使用它。同样,请注意,您也可以直接调用函数,因此在上面的代码中,您可以在boundingBox实现中直接调用示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句