首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

C++ 學習筆記(一):類與物件基礎概念

     編輯:VC 教學

1. 類與物件的關係

  • 物件:客觀事物在電腦中的抽象描述,包含屬性(資料)與行為(函數)。
  • 類:具有相同屬性與行為的一組物件的統一描述,是一種使用者定義的資料型別。
  • 物件是類的實例;類是物件的模板。

2. 類的定義語法

class ClassName {
private:    // 私有成員:僅類內部可存取
    // 資料成員、成員函數
protected:  // 保護成員:類內部及衍生類可存取
    // 資料成員、成員函數
public:     // 公有成員:任何地方可存取(介面)
    // 資料成員、成員函數
};  // 分號不可省略
  • class 關鍵字定義類。
  • 類名慣例首字母大寫(如 Student)。
  • 預設存取權限為 private。
  • private:封裝內部實作細節。
  • public:提供外部介面(多為成員函數)。
  • protected:支援繼承體系的擴充。

3. 成員函數定義

類內定義(隱式 inline)

class Point {
    int x, y;
public:
    void Set(int a, int b) { x = a; y = b; }  // 適合簡短函數
};

類外定義

// 類內宣告
class Point {
    int x, y;
public:
    void Set(int a, int b);
};

// 類外實作
void Point::Set(int a, int b) {  // 作用域解析運算子 ::
    x = a; y = b;
}
  • 適合較長函數,保持類宣告清晰。
  • 成員函數可有預設參數。

4. 物件宣告與指標


// 物件宣告
ClassName obj1, obj2, obj3;  // 多個物件用逗號分隔

// 物件指標
ClassName* pObj = &obj1;     // 指向現有物件
ClassName* pNew = new ClassName();  // 動態配置,需 delete

5. 存取成員

  • 物件直接存取:obj.MemberFunc()、obj.dataMember(若 public)。
  • 指標存取:pObj->MemberFunc()、pObj->dataMember。

6. 封裝與資料隱藏

將資料成員設為 private,提供 public 的 getter/setter 方法,可在存取時加入驗證、日誌、延遲初始化等邏輯,實現資料隱藏與介面穩定。

7. 範例:簡單學生類

class Student {
    int id;          // 私有
    char name[32];   // 私有
public:
    Student(int i, const char* n) : id(i) { strcpy(name, n); }
    void Print() const { printf("ID:%d Name:%s\n", id, name); }
    int GetId() const { return id; }
};

int main() {
    Student s(1001, "Alice");
    s.Print();
    Student* p = new Student(1002, "Bob");
    p->Print();
    delete p;
    return 0;
}

總結

類與物件是 C++ 面向物件程式設計的基石。掌握類的定義、存取控制、成員函數實作、物件建立與銷毀,是進階學習繼承、多型、範本、STL 等特性的前提。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved