C++_Primer_chapter17 2.命名空间

来源:互联网 发布:逆战瞬狙数据 编辑:程序博客网 时间:2024/06/06 05:40
#include <iostream>namespace ns {class Cls{/* * 知识点1: * 如果不存在可见的声明,那么,友元声明具有将该函数或类的声明放入外围作用域的效果 * 即:类Cls在命名空间ns内内部定义,则没有另外声明的友元函数fun相当于在命令空间内ns中声明, * 如下列16行所示 */friend void print(const Cls& cls);public:Cls(int e) :elem(e) {}private:int elem;};//void print(const Cls& cls); // 已经隐式声明了,不需要再声明}void ns::print(const ns::Cls& cls) {std::cout << cls.elem<< std::endl;}void fun() {ns::Cls cls(0);/* * 知识点2:  * fun接受: 1)类类型实参并 2) 与类隐式声明在同一命名空间中,所以使用它无需使用using声明 */print(cls);}

0 0
原创粉丝点击