物聯網/嵌入式工程師
重磅升級:新增硬件電路設計與實戰,讓你軟硬通吃,同級PK無敵!行業風口、政策傾斜,新晉熱門高薪不內卷!0基礎一站式就業完整路徑,搶占先發優勢!
我們上一小節中介紹了面向對象的思想,這一小節開始,我們來具體看看在 C++ 中應該如何實現面向對象。
類,是 C++ 實現面向對象最基礎的部分。類其實和之前學過的結構體十分相似,你可以認為類是結構體的升級版。之后的學習中你會更加理解類?,F在,我們只簡單的來介紹一下類。
在 C++ 中,可以用下面的代碼申明一個員工類:
class Staff { };
可以像使用結構體一樣使用這個類:
#include <stdio.h> class Staff { }; int main(int argc,char **argv) { Staff st; return 0; }
我們在此之前都是把代碼放到一個文件里,但是這樣在實際工程中肯定是不行的,我們不可能把所有的代碼都寫到一個文件夾里面。而在 C++ 中我們就常常把類定義到不同的文件里面,把每個類都獨立起來,這樣代碼的耦合性就會降低,方便維護。
在 C++ 中,我們可以把一個類寫到兩個文件里面,一個是后綴為 .h 或者 .hpp 的頭文件,一個是后綴為 .cpp 的實現文件。我們先在開發環境里新建一個類。輸入類名是 Staff。
可以看到 VS 為我們創建類兩個文件,Staff.h 和 Staff.cpp。Staff.h 文件為定義,Staff.cpp 為實現。
在分了文件之后,我們想要在 main 函數中引用這個類,就需要使用 #include “Staff.h” 將頭文件引入進來。
在新建了一個類之后,我們就可以根據這個類產生對象了。根據類產生對象的過程叫做實例化。這個過程就像是公司招聘員工一樣,幸運的是,我們作為程序的老板,并不需要和現實中一樣去張貼招聘啟示。在 C++ 中,“招聘“員工,只需要用以下的代碼就可以了。
#include "Staff.h" int main(int argc,char **argv) { // 我們就這樣實例化了三個員工 Staff st1; Staff st2; Staff st3; return 0; }
這樣分配,我們將這三個“員工”分配到了棧上,同樣的,可以把他們分配到堆內存上面去。
要將對象分配到堆上,需要用到另外兩個關鍵字,new 和 delete。new 用來分配對象,delete 用來刪除對象。new 會返回一個指針,在使用完畢后,要通過 delete 把這個指針指向的地址釋放掉。
#include "Staff.h" int main(int argc,char **argv) { // 我們就這樣實例化了三個員工 Staff * st1 = new Staff(); Staff * st2 = new Staff(); Staff * st3 = new Staff(); // 記得釋放 delete st1; delete st2; delete st3; return 0; }
當然,我們現在這個類還什么都不能干呢,接下來的課程中,我們將逐步介紹類的功能。
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報