C++学习

1 命名空间

命名空间可作为附加信息来区分不同库中相同名字的函数、类、变量等，本质上命名空间定义了一个范围。

1.1 定义命名空间

使用关键字namespace，后跟命名空间的名称。

Copy
namespace ns_name
{
//code
}

调用该命名空间内的函数或变量等，如下：

Copy
ns_name::code;

2 类

定义类需要关键字class，然后指定类的名称，类的主体包含在一对花括号内，主体包含类的成员变量和成员函数。

2.1 访问数据成员

使用 . 来访问类中的变量。

2.2 类访问修饰符

数据封装是面向对象编程重要特点之一，防止函数直接访问类内部成员。类成员访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。成员和类的默认访问修饰符是 private。

2.2.1 public

公有成员变量在程序中不需要使用任何成员函数即可设置和获取值。

2.2.2 private

私有成员在类的外部是不可访问的，只有类和友元函数可以访问私有成员。
默认情况下，类的所有成员都是私有的。
实际操作中，一般在私有区域定义数据，在公有区域定义相关函数，便于在类的外部也可以访问数据。

2.2.3 protected

protected 成员与 private 成员类似，但 protected 成员在派生子类中是可访问的。

2.2.4 继承中的特点

private成员只能被本类成员和友元访问，不能被派生类访问

protected成员可以被派生类访问