類的基本思想是資料抽象和封裝 。
在c++中,類和結構體的區別就是,結構體預設訪問許可權是public,而類是private。
類是屬於使用者自定義的資料型別,通常來說, 乙個類的定義包含兩部分的內容, 一是該類的屬性, 另一部分是它所擁有的方法。c++中使用關鍵字 class 來定義類, 定義類的一些屬性和方法宣告:
class 類名
;(請注意這個分號不能省略!)
類的資料成員中不能使用 auto、extern和register等進行修飾, 也不能在定義時進行初始化。
類的實現有兩種方式, 一種是在類定義時完成對成員函式的定義, 另一種是在類定義的外部進行完成。
與類的定義相比, 在類內實現成員函式不再是在類內進行宣告, 而是直接將函式進行定義, 在類中定義成員函式時, 編譯器缺省會爭取將其定義為 inline 型函式。
#include
using
namespace
std;
class point
void printpoint() //實現printpoint函式
private:
int xpos;
int ypos;
};int main()
輸出結果:
x = 10
y = 20
process returned 0 (0x0) execution time : 0.406 s
press any key to continue.
在類外定義成員函式通過在類內進行宣告, 然後在類外通過作用域操作符 :: 進行實現, 形式如下:
返回型別 類名::成員函式名(引數列表)
#include
using
namespace
std;
class point
;void point::setpoint(int x, int y) //通過作用域操作符 '::' 實現setpoint函式
void point::printpoint() //實現printpoint函式
int main()
以setpoint成員函式來說, 在類內宣告的形式為void setpoint(int x, int y); 那麼在類外對其定義時函式頭就應該是void point::setpoint(int x, int y)這種形式, 其返回型別、成員函式名、引數列表都要與類內宣告的形式一致。
將乙個類定義並實現後, 就可以用該類來建立物件了, 建立的過程如同 int、char 等基本資料型別宣告乙個變數一樣簡單, 例如我們有乙個point類, 要建立乙個point的物件只需要: point 物件名;
一般將類的實現放在.h標頭檔案中。
#include
#include "point.h"
using
namespace
std;
int main()
通過 物件名.公有函式名(引數列表); 的形式就可以呼叫該類物件所具有的方法, 通過 物件名.公有資料成員; 的形式可以訪問物件中的資料成員。
如果物件的成員函式中有使用new或者malloc申請的動態記憶體程式不會對其進行釋放, 需要我們手動進行清理, 否則會造成記憶體洩露。
C 知識文件三 類的定義和使用
類的定義和使用 客觀世界中的一切事物都可以視為物件。當然這些事物既有具體的物理實體 如 電視,電腦,洗衣機等 也可以是邏輯實體 如 部門 氣候等 不管是哪一種物件他們都有兩方面的特徵 靜態特徵和動態特徵。所謂物件的靜態特徵就是能描述物件的一些屬性。如乙個部門的人數 經理名字等。所謂動態特徵就是物件表...
C 類的基礎知識
類是物件導向程式設計的核心,是通過抽象資料型別方法實現的一種使用者自定義資料型別,它同時包含了資料和對資料進行操作的函式。利用類可以實現資料的封裝和隱藏。類是對某一類物件的抽象,而物件是某一種類的例項。類的定義 類的定義可以分為兩部分 說明部分和實現部分。說明部分說明類中包含的資料成員和成員函式,實...
C 類的基礎知識
類通常包括兩部分 類的內部實現和類的使用方式。當我們建立乙個類時,我們需要考慮去怎麼實現,使用的時候不需要考慮細節,不用想怎麼去實現。首先我們給出乙個簡單的類 class test int getval private int v int test getval 類裡面包含了量種不同的東語法,乙個是...