在c++中,類(class)是對c中的結構體struct的增強,也是用於自定義型別的。
#includeusing namespace std;
class object ;
int main()
訪問修飾符:
public ==》 公開的,可以被外部訪問
private ==》私有的,不可以被外部與訪問
protected ==》一般在類的繼承中使用,當乙個類成員被protected修飾時,則該成員不能被外部訪問(同private),但是可以被子類繼承
定義在class內的函式,稱為該類的成員函式
#includeusing namespace std;
class object
};int main()
同樣地,成員變數也受訪問修飾符的限制,規則成員變數一樣。
在c++中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員函式的隱含引數。因此,在成員函式內部,它可以用來指向呼叫物件。
注意:友元函式沒有this指標,因為友元不是類的成員。只有成員函式才有this指標。
this指標是不受private/public限制的。「this」也是可以省略的,編譯器會自己給它加上this.
#includeusing namespace std;
class object
};int main()
注意點:
(1)乙個物件的this指標並不是物件本身的一部分,不會影響sizeof(物件)的結果。
(2)this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加上this的,它作為非靜態成員函式的隱含形參,對各成員的訪問均通過this進行。例如,呼叫date.setmonth(9) <===> setmonth(&date, 9),this幫助完成了這一轉換 .
(3)在成員函式內部,我們可以直接使用呼叫該函式的物件的成員,而無需通過成員訪問運算子來做到這一點,因為this所指的正是這個物件。任何對類成員的直接訪問都被看成this的隱式使用。
(4)this的目的總是指向這個物件,所以this是乙個常量指標,我們不允許改變this中儲存的位址
C 小白 物件導向2
include using namespace std class object int main 輸出結果為 include using namespace std int x 1 定義全域性變數x class object int main 3.當全域性函式與成員函式相同時,使用成員函式 inc...
C 小白 物件導向3
建構函式是類的一種特殊的函式 1 函式名與類名相同 2 沒有返回值 3 可以有形參也可以沒有 4 可以時內聯函式 5 可以過載 6 可以帶預設引數 作用 在物件被建立時使用特殊的值構造物件,將物件初始化為乙個特殊的狀態。建構函式一般不顯示呼叫,在建立乙個物件時,建構函式被自動呼叫。用編譯器完成 若程...
python小白 物件導向 成員介紹
方法property等 字段分為兩種 普通字段和靜態字段 普通字段,又叫例項屬性,在物件導向中屬於物件,在物件被建立時產生。也就是說,普通字段只能通過物件來訪問,不可通過類訪問 如下 class ziduan 普通字段 例項屬性 def init self 通過物件建立普通字段 self.commo...