c++是物件導向的程式語言
面對物件就是:
把資料及對資料的操作方法放在一起,作為乙個相互依存的整體——物件。對同類物件抽象出其共性,形成類。類中的大多
數資料,只能用本類的方法進行處理。類通過乙個簡單的外部介面與外界發生關係,物件與物件之間通過訊息進行通訊。程式流程由使用者在使用中決定。
類的宣告
class+類名
;注 :
1.首先是public修飾符來修飾的函式,是指這個函式可以被其他的類來呼叫,也可以被自己類裡的函式來呼叫。
2.再看protected修飾符來修飾的函式,是指這個函式可以被繼承類呼叫,也可以被自己類裡的函式呼叫,但不能被其他的類呼叫。
3.用private修飾符來修飾的函式,就具有更少的許可權了,只能被自己類裡的其他函式呼叫,其他一概不能呼叫。(訪問修飾符範圍是到定義的下乙個訪問修飾符 或是整個類的結束)
若在定義變數前面沒有任何訪問修飾符會預設其訪問修飾符為public
如果我們想要在外部呼叫類內的私有的或受保護的成員變數那麼我們就需要一系列的介面函式
class cperson
bool get***()
void setage(int age1)//呼叫介面函式間接給類的成員變數賦值
};介面就是與外界互動的通道
類的建構函式 :給函式的成員屬性進行初始化 建構函式的函式名與類名相同 建構函式分為有引數和沒有引數兩種型別
沒有引數的建構函式:
class cperson
cperson(string name1,int age1,bool ***1)//有引數的建構函式
int getage()
bool get***()
void setage(int age1)//呼叫介面函式間接給類的成員變數賦值
};int getage()
bool get***()
void setage(int age1)//呼叫介面函式間接給類的成員變數賦值
};//在上述的類裡我們定義了兩個建構函式那麼我們在定義的時候怎麼區分這兩個建構函式呢?
int main()
//宣告物件的時候會自動呼叫建構函式 如果我們沒有定義建構函式那麼會呼叫乙個預設的沒有引數的建構函式 cperson(){};
注意 如果我們只寫了乙個有引數的建構函式那麼就沒有預設的無參的建構函式 定義物件的時候需要注意
析構函式
自動呼叫刪除類內指標成員在堆區分配的空間 析構函式乙個類只有乙個沒寫也有預設的但是什麼也不做
class cperson
~cperson()//
定義析構函式 析構函式呼叫是在類的生命週期結束的時候**物件清理記憶體
int getage()
bool get***()
void setage(int age1)//呼叫介面函式間接給類的成員變數賦值
};int getage()
bool get***()
void setage(int age1)//呼叫介面函式間接給類的成員變數賦值
};
C 學習之類
c 提供了一種類class機制來定義新的資料型別,類不僅可以定義了資料的復合,還可以定義該復合資料的操作。一 類的定義 類機制定義的類class,是一種型別,其定義與struct定義類似,只是在定義體中新增了操作的方法,如此是一段定義類以及對該類進行操作的 include include using...
C 學習筆記之 類 物件
類是描述具有相同特徵和行為的抽象。物件是類的例項。類的作用就是分類!class關鍵字 class 類名 1 字段 類的共有屬性class car比如以上的brand,price,displacement 簡單的應用 using system namespace lesson12 class main...
C 學習筆記之類型別
兩個類即使成員完全相同,但名字不同,不屬於同乙個類 class a class b a obj1 b obj2 obj1 error,obj1和obj2型別不同 class a 前向宣告 對乙個類只宣告不定義 不完全型別 乙個類在宣告之後定義之前為不完全型別 不完全型別的3種有限的應用情景 定義指向...