第十八章 18.2.1节练习

来源:互联网 发布:有创意的校园活动 知乎 编辑:程序博客网 时间:2024/05/24 04:27

练习18.12

将你为之前各章节练习编写的程序放置在各自的命名空间中。也就是说,命名空间chapter15包含Query程序的代码,命名空间chapter10包含TextQuery的代码;使用这种结构重新编译Query代码实例。

解答:

其实看过这章内容,就会觉得这是件很简单的事情。

代码……略过吧,太多了。


练习18.13

什么时候应该使用未命名的命名空间?

解答:

如果你之前只用过static声明,那么未命名的命名空间就和其用法是一样的。

将需要的东西包含起来,只能在当前文件中有效,无法跨越文件使用。有点类似封装的意思。


练习18.14

假设下面operator*声明的是嵌套的命名空间mathLib::MatrixLib的一个成员:

namespace mathLib{

  namespace MatrixLib{

    class matrix { /* ... */};

    matrix operator* (const matrix&, const matrix &);

  }

}

请问你应该如何在全局作用域中声明该运算符。

解答:

mathLib::MatrixLib::matrix mathLib::MatrixLib::operator*(const mathLib::MatrixLib::matrix&, const mathLib::MatrixLib::matrix&);


0 0