【C++】C++類的定義和物件的建立
阿新 • • 發佈:2018-12-14
類是建立物件的模板,一個類可以建立多個物件,每個物件都是類型別的一個變數;建立物件的過程也叫類的例項化。每個物件都是類的一個具體例項(Instance),擁有類的成員變數和成員函式。
在面向物件的程式語言中,經常把函式(Function)稱為方法(Method)。
class
是 C++ 中新增的關鍵字,專門用來定義類。
類只是一個模板(Template),編譯後不佔用記憶體空間,所以在定義類時不能對成員變數進行初始化,因為沒有地方儲存資料。只有在建立物件以後才會給成員變數分配記憶體,這個時候就可以賦值了。
Student
是類名,liLei
是物件名。這和使用基本型別定義變數的形式類似:
int a; //定義整型變數
從這個角度考慮,我們可以把 Student 看做一種新的資料型別,把 liLei 看做一個變數。
除了建立單個物件,還可以建立物件陣列:
Student allStu[100];
該語句建立了一個 allStu 陣列,它擁有100個元素,每個元素都是 Student 型別的物件。
也就是說,使用 new 在堆上創建出來的物件是匿名的,沒法直接使用,必須要用一個指標指向它,再借助指標來訪問它的成員變數或成員函式。
棧記憶體是程式自動管理的,不能使用 delete 刪除在棧上建立的物件;堆記憶體由程式設計師管理,物件使用完畢後可以通過 delete 刪除。
代賣示例:
#include <iostream> using namespace std; class Student { public: const char *name; int age; float score; void say() { cout << name << "的年齡是" << age << ",成績是" << score << endl; } }; int main() { Student *pStu = new Student; pStu->name = "小明"; pStu->age = 15; pStu->score = 92.5f; pStu->say(); delete pStu; //刪除物件 getchar(); return 0; }