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

C++ 類別(Class)核心概念與實作詳解

     編輯:關於C++

類別:物件導向的藍圖

在現實世界中,同類物件無處不在:你的腳踏車只是無數腳踏車中的一輛。在面向對象軟體中,共享相同特徵的物件(如矩形、員工記錄、影片片段)可以被歸類為一個「類別」。類別定義了同類所有物件的變數與方法,是建立物件的藍圖或原型。

類別的核心構成

  • 實例變數:每個物件獨有的資料(如腳踏車的當前檔位)。
  • 實例方法:操作實例變數的行為(如變檔、煞車)。同類別的實例共享相同的方法實作。
  • 類別變數與類別方法:屬於類別本身,所有實例共享;類別方法只能操作類別變數,不需存取實例成員。

從定義到實例化

定義類別後,必須實例化才能使用。建立實例時,系統會為該類別定義的實例變數分配記憶體,之後即可呼叫物件的方法實現功能。

程式碼範例:HotDog 類別

#include <iostream>
using namespace std;

// 定義 HotDog 類別
class HotDog {
private:
    int age;   // 私有成員變數
    int bbb;
public:
    // 靜態成員函數
    static void say_hello() {
        int a, b;
        cout << "hello HotDog" << endl;
    }
    // 存取私有成員的介面
    void Set_Age(int age) { this->age = age; }
    int Get_Age() { return this->age; }
    // 宣告友元函數
    friend int main();
protected:
};

int main() {
    class HotDog Dog;
    // 因 main 是友元,可直接存取私有成員
    Dog.age = 100;
    cout << "age : " << Dog.age << endl;
    // 靜態函數可用類別名直接呼叫
    HotDog::say_hello();
    return 0;
}

執行結果

age : 100
hello HotDog

關鍵觀念回顧

  • 封裝:透過 private 隱藏資料,提供 public 介面存取。
  • 靜態成員:屬於類別,不屬於特定物件,可直接以類別名呼叫。
  • 友元:打破封裝限制,允許特定函數或類別存取私有成員。
  • 實例化:類別只是模板,物件才佔用記憶體並擁有獨特狀態。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved