成員函式 注意::兩個冒號
int car::
size()
函式size是car類的成員函式,只能通過物件、物件指標、物件引用才能呼叫。
private:私有成員
public:公有成員
protected:保護成員
(1)類成員函式的內部可訪問:當前物件和同類其他物件的全部屬性,函式。
(2)類的成員函式以外可訪問該類公有成員。
成員函式可以過載和引數預設,但要避免二義性(無法辨別是函式預設還是過載)
c1ass location (
private
:int х,y;
public
:void
init
(int x =0,
int y=0)
;void
valuex
(int val=
0) {x=val;}
intvaluex
() {return x;}]
; location a;
a.valuex()
;//編譯錯誤,編譯器無法判斷呼叫哪個valuex
(1)成員函式的一種,名字與類名相同,可以有引數,不能有返回值。
(2)對物件進行初始化,給成員變數賦初值。
class
complex {
private
:double real, imag;
public
:complex
(double r,
double i=0)
;};complex::
complex
(double r,
double i)
complex c1;
//error,缺少枸造函式的引數
complex *pc =
new complex;
//error, 缺少引數
complex c1(2
);// ok
complex с1(2
,4),
c2(3,
5);//ok
complex *pc =
newcomplex(3
,4);
//ok
(3)可以有多個建構函式,根據函式過載確定。
(1)x::x(const x &) 不寫則預設生成。
complex c1;
//無參建構函式初始化
complex c2
(c1)
;//複製建構函式初始化
complex c2 = c1;
//初始化,非賦值
(2)呼叫複製建構函式情況:
一、物件需要另乙個物件進行初始化
二、函式引數是類a物件,複製建構函式被呼叫。
三、函式返回值是類a物件,複製建構函式被呼叫。
(3)物件間賦值不呼叫複製建構函式。
(4)使用常量引用引數,避免由複製建構函式帶來的巨大開銷。
(1)只有乙個引數且不是複製建構函式。
(2)自動呼叫,建立無名的臨時物件或臨時變數。
(1)名字與類名都相同,前面加~,沒有引數和返回值,乙個類只有乙個析構函式。
(2)delete時呼叫析構函式。
(3)析構函式在物件作為函式返回值返回後被呼叫。
(4)靜態變數生命週期為整個程式執行,因此整個程式退出時才會呼叫析構函式。
歡迎來我的小站玩吖~
嘉州海棠
python基礎學習筆記(二)類和物件
class bird object def init self,sound magic mehod 前後兩個下劃線 如 add self.sound sound dict print init sound sound def chirp self self 該函式可在同一類中被呼叫 print bi...
C 學習筆記 二 類與物件
四.建立物件的2種方式 類由函式成員和資料成員組成,資料成員一般宣告為私有,私有和保護成員不能通過物件直接訪問。但是可以通過函式成員對私有資料成員進行操縱。訪問限定符 access specifier 有三種 例子 includeusing namespace std class cgoods ma...
C 學習 二 類和物件 1
class struct classname class為定義類的關鍵字,classname為類的名字,中為類的主體,注意類定義結束時後面分號。類中的元素稱為類的成員 類中的資料稱為類的屬性或者成員變數 類中的函式稱為類的方法或者成員函式 c 中struct和class的區別是什麼?c 需要相容c語...