《C/C++学习指南》语法篇—笔记 (二十二、内部类与名字空间)
- 内部类
- 名字空间
内部类
把一个类定义写在另一个类的内部
Class AAA
{
public://定义一个内部类class Inner{public:char name[64];};
};
在使用内部类时,类名要使用全称 AAA::Inner
AAA::Inner a;
特别:
内部类和外部类互相没有特权,不是朋友关系,不是父子关系,没有任何特殊关系。外部类无法自由访问内部类,内部类也同样无法自由访问外部类。
名字空间
解决名字冲突的终极手段:namespace。语法:
namespace XXX
{//把类和函数写在这个大括号里class YYY{};
} //<-不需封号XXX::YYY obj;
解除前缀:
using namespace XXX; //使用XXX里面的所有名字
using namespace XXX::YYY; //只使用XXX里面的一个名字YYY
*.h 和 *.cpp的分离
namespace XXX
{
//声明
}namespace XXX
{
//定义void YYY::Test(){}
}