1 命名空間#
命名空間可作為附加信息來區分不同庫中相同名字的函數、類、變量等,本質上命名空間定義了一個範圍。
1.1 定義命名空間#
使用關鍵字namespace,後跟命名空間的名稱。
namespace ns_name
{
//code
}
調用該命名空間內的函數或變量等,如下:
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成員可以被派生類訪問