為什麼要存在類這一定義,目前來看,我認為,是為了後續的維護與管理更加方便,通過在標頭檔案中編寫類,可以在很大的程度上提高**的可閱讀性與可操作性
1:首先來簡單看一下類定義:
c++中,通過定義類(class)來自定義資料型別。類定義了該型別的物件所包含的資料以及該型別的物件可以執行的操作。
每個類都定義了乙個介面(inte***ce)和乙個實現(implementation)。介面由使用該類的**需要執行的操作來組成。實現一般包括該類所需要的資料。實現還包括定義定義該類需要的但又不供一般性使用的函式。
c++除了可以用class來定義,還可以用struct來定義
class sales_item;
在class定義中,這個{}中的內容可以為空,裡面定義的的資料和操作稱為類體的成員,操作稱為成員函式,資料稱為資料成員,public後一般跟函式也叫做方法,而private中,跟的時類所有的專屬的資料型別,僅他自己可用
struct定義與class定義無明顯的不同,最大的不同點是成員是隱式指定為public,而class隱式指定為private,下面是
struct的定義
struct sales_item
;
2.關於類的初始化
每個類都定義了該型別的物件可以怎樣初始化。類通過定義乙個或多個建構函式來控制類物件的初始化。標準函式庫string就提供了建構函式,其中乙個允許我們通過字串字面值初始化string物件,另乙個允許我們通過字元和計數器初始化string物件。
如果定義了某個類的變數時沒有進行初始化,那麼這個類可以通過乙個特殊的建構函式(預設建構函式)來實現
下面我們來看下乙個簡單的初始化
std::string empty;
//empty = '',就是乙個呼叫string型別其中的乙個方法(函式)來定義empty
上面運用了string型別的方法來定義乙個物件empty,但預設採用了string標準庫中的預設建構函式,所以顯示在終端上是乙個空
3.簡單的來介紹一下頭檔案
一般類定義都放在標頭檔案(header file),只要編寫的類放在使用前就可以了,而c++在使用的時候,標頭檔案放在開頭就行
啥是標頭檔案?就是開頭那個#include之後的鬼東西,末尾以.h結尾
那啥是庫函式呢?庫函式就是標頭檔案裡面編寫的函式
#include就是c++的預處理器的一部分
標頭檔案也可以包含標頭檔案,甚至同一原始檔也是中包含同一標頭檔案多次也是可以的
編寫標頭檔案是,肯定會遇到對於預處理器的一些設定與呼叫下面來看下簡單的關於預處理的一些設定
#ifndef salesitem_h
//檢測salesitem_h有沒有被定義,如果未定義,就執行以下的**塊,知道發現#endif,如果為假,那就跳過
#define salesitem_h
//接受乙個名字並開始定義其為預處理器變數
//在這裡定義有關的函式與類
#endif
< >//這種是標準標頭檔案,系統標頭檔案,在指定的路徑中(我的在c:\program files (x86)\microsoft visual studio\vc98\include)
「 」//這種是自己定義的,非系統標頭檔案
c語言的標頭檔案 不是c 類的標頭檔案
下面的概述是參考的這篇文章 c語言程式設計中也有,也需要標頭檔案,標頭檔案不只是c 的類才需要 比如 c中的string.h,記憶體操作的標頭檔案 include 即是 c語言中,函式 變數的宣告和實現,也可以像c 一樣,標頭檔案中,哪些函式 變數需要使用extern來說明?c語言有乙個約定 凡是在...
C 模板類與標頭檔案
今天將模板類函式分成了宣告和定義兩個檔案 模板類的宣告 pragma once ifndef find item define find tiem template const elemtype find item const elemtype first,const elemtype last,c...
C 學習(1)入門與類初識
1.函式過載 什麼是過載 同一作用域內,允許函式名相同,引數列表不同的函式同時出現。乙個函式名對應多種函式實現 注 c 支援,c語言不支援 底層原理 c語言與c 編譯器對函式進行編譯的處理機制不同,c語言編譯器只是簡單的對函式名進行修飾 列入修飾名僅僅是對函式名加個 然後通過修飾名進行鏈結。而c 編...