類的定義
什麼是類?什麼是物件?
對於物件導向的C++語言學習,類和物件的理解是整個語言學習中核心的基礎。通俗的理解,類其實就是一個模子,是一個變數型別,物件就是這個型別定義出來的具體的變數,就像int a;這句話,int對應類,a就對應物件。大家應該就好理解了,但需要注意的是int是C++的內建型別,並不是真正的類。
所以,概括的講:類是物件的抽象和概括,而物件是類的具體和例項。請大家理解這句話。
那麼C++中的類長什麼樣呢?簡單說, C++中類的其實就是包含函式的結構體!因為C++類裡面的成員除了可以像C語言的結構體那樣包含基本變數以外,還可以包含函式,前者叫做成員變數,後者叫做成員方法。
關鍵字呢用class類定義,比如下面定義一個C++的類,學生類:
class Student { public: int num; char name[100]; int score; int print() { cout<
值得提醒一下的是,類定義後面還有一個分號,大家注意,不要丟掉!
好了,在認識了類的基本樣子以後,下面我們再給大家看另一種寫法,我們剛才看的這種寫法,成員函式是寫在類裡的,如果類裡的成員函式很多的話,閱讀起來就會亂很多,故此,C++還支援另外一種寫法,就是成員函式僅在類內宣告函式原型,在類外定義函式體,這樣在類裡可以看到所有成員函式的列表,像目錄一樣一目瞭然,規範很多。
在類中宣告函式原型的方法與一般C語言的函式原型宣告一樣,而在類外定義函式的方法,則需要類名加::作用域限定符表示,
我們還以剛才的Student類為例,類外定義的程式碼如下:
class Student { public: int num;//學號 char name[100];//名字 int score;//成績 int print();//類內宣告print函式 }; int Student::print()//在類外定義完整的print函式 { cout<
請大家熟悉以上兩種用法,然後自行上機理解,根據情況選擇。
相關文章
- 類定義介面
- c#抽象類的定義C#抽象
- 類定義(class definition)
- 重學java之類的定義Java
- scala----常用方法 類的定義
- ts類介面約束定義
- JTAG各類介面針腳定義及含義
- C++學習 類定義(一)C++
- Java集合系列(一):集合的定義及分類Java
- 內部類中的成員的定義和使用
- python定義類不寫括號嗎Python
- 什麼是抽象類?怎麼定義?抽象
- ts類中屬性定義的另一種方式
- python中物件導向_類_物件的概念與定義Python物件
- 關於C++類的定義和物件的建立詳解C++物件
- 包裝類的定義,API的使用和快取問題API快取
- 物件導向:類的定義和繼承的幾種方式物件繼承
- 實體類定義陣列物件,和物件陣列物件
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- 學習javaScript必知必會(6)~類、類的定義、prototype 原型、json物件JavaScript原型JSON物件
- 面向1-類和物件-方法、new的定義和使用物件
- 淺說AI產品經理的定義與分類AI
- 越來越簡單的資料類定義:named tuple
- 物件導向中類和物件的定義是什麼?物件
- 定義多維的點模板類,任意資料型別資料型別
- Redis設定Key/value的規則定義和注意事項(附工具類)Redis
- javaSE-day04--ArrayList基本用方法、類內定義方法和方法過載、靜態方法static(類的方法)、工具方法(static)的定義和使用Java
- 成功的定義
- 程式的定義
- SOCKS代理的定義
- 【雲端計算】雲的七大分類定義說明
- Python學習系列之類的定義、建構函式 def __init__Python函式
- 類别範本及其成員函式的定義及注意事項函式
- 為什麼類裡面要定義靜態常量啊?
- SMART原則的定義和含義
- 定義Point類,採用友元類的方式計算兩個點之間的水平和垂直距離
- 『忘了再學』Shell基礎 — 11、變數定義的規則和分類變數
- IDEA2020.2版本設定類和方法的自定義註釋模板Idea