在現實世界中,同類物件無處不在:你的腳踏車只是無數腳踏車中的一輛。在面向對象軟體中,共享相同特徵的物件(如矩形、員工記錄、影片片段)可以被歸類為一個「類別」。類別定義了同類所有物件的變數與方法,是建立物件的藍圖或原型。
定義類別後,必須實例化才能使用。建立實例時,系統會為該類別定義的實例變數分配記憶體,之後即可呼叫物件的方法實現功能。
#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 介面存取。