class ClassName {
// 訪問權限標號
public: // 公開:類內外均可訪問
protected: // 保護:類內及派生類可訪問
private: // 私有:僅類內可訪問(默認)
// 成員聲明
// 數據成員
// 成員函數
};
| 權限 | 類內 | 派生類 | 類外 |
|---|---|---|---|
| public | ✓ | ✓ | ✓ |
| protected | ✓ | ✓ | ✗ |
| private | ✓ | ✗ | ✗ |
struct 默認 public 繼承與成員class 默認 private 繼承與成員private(保護不變量)public(提供服務接口)private類外定義成員函數必須指明所屬類:
class MyClass {
void func(); // 聲明
};
void MyClass::func() { // 定義
// 實現
}
inlineclass Counter {
int count; // private
public:
Counter(int c=0) : count(c) {} // 構造函數
void increment() { ++count; }
int get() const { return count; } // const 成員函數
void reset(int c=0) { count = c; } // 默認參數
};