學習篇 C 類和物件 封裝

2021-10-12 13:33:28 字數 3568 閱讀 1642

4.封裝案例2(點和圓的關係)

• 將屬性和行為作為乙個整體,表現生活中的事物

• 將屬性和行為加以許可權控制

意義一:語法class 類名;

意義二:類在設計時,可以把屬性和行為放在不同的許可權下,加以控制

【三種訪問許可權】

許可權名稱

類內、類外訪問情況

繼承訪問情況

public

公共許可權

成員 類內可以訪問、類外也可以訪問

protected

保護許可權

成員 類內可以訪問、類外不能訪問

繼承中子類可以訪問父類的保護內容

private

私有許可權

成員 類內可以訪問、類外不能訪問

繼承中子類不能訪問父類的保護內容

唯一的區別在於:預設的訪問許可權不同

• struct預設許可權為公共

• class預設許可權為私有

優點1:將所有成員屬性設定為私有,可以自己控制讀寫許可權

優點2:對於寫許可權,我們可以檢測資料的有效性

class

person

//讀姓名(獲取姓名)

string getname()

//讀年齡

intgetage()

//寫年齡

void

setname

(int age)

m_age = age;

}//設定情人

void

setlover

(string lover)};

intmain()

【立方體類設計】

1.建立立方體類

2.設計屬性:長l寬w高h

3.設計行為:獲取立方體的面積和體積

4.分別利用全域性函式和成員函式判斷兩個立方體是否相等

1.建立立方體類

2.設計屬性:長l寬w高h

3.設計行為:獲取立方體的面積和體積

class

cube

intgetcube_volume()

};

4.分別利用全域性函式和成員函式判斷兩個立方體是否相等

備註:此處使用全域性函式,則函式引數需要傳入兩個立方體;

使用成員函式只要傳入乙個立方體即可(即第二個立方體)。

//利用成員函式判斷兩個立方體是否相等

class

cube

return

false;}

};//利用全域性函式判斷兩個立方體是否相等

bool

issame1

(cube& c1, cube& c2)

return

false

;}

#include

#include

using

namespace std;

//立方體類設計

//1.建立立方體類

//2.設計屬性:長l寬w高h

//3.設計行為:獲取立方體的面積和體積

//4.分別利用全域性函式和成員函式判斷兩個立方體是否相等

class

cube

intget_l()

void

set_w

(int w)

intget_w()

void

set_h

(int h)

intget_h()

intgetcube_area()

intgetcube_volume()

//利用成員函式判斷兩個立方體是否相等

bool

issame2

(cube& c)

return

false;}

};//利用全域性函式判斷兩個立方體是否相等

bool

issame1

(cube& c1, cube& c2)

return

false;}

intmain()

else

ret = c1.

issame2

(c2);if

(ret)

else

return0;

}

計算點和圓心的距離

點類的標頭檔案point.h

#pragma once

#include

using

namespace std;

class

point

;

點類的原始檔point.cpp

#include

"point.h"

//設定橫座標x

void point::

setx

(int x)

//設定橫座標y

void point::

sety

(int y)

//獲取橫座標x

int point::

getx()

//獲取橫座標y

int point::

gety()

圓類的標頭檔案circle.h

#pragma once

#include

#include

"point.h"

using

namespace std;

class

circle

;

圓類的原始檔circle.cpp

#include

"circle.h"

//設定半徑

void circle::

setr

(double r)

//獲得半徑

double circle::

getr()

//設定圓心

void circle::

setcenter

(point center)

//獲取圓心

point circle::

getcenter()

void

isincircle

(circle& c, point& p)

else

if(distance > c.

getr()

)else

}

#include

#include

#include

"point.h"

#include

"circle.h"

using

namespace std;

intmain()

C 封裝篇 類物件的定義

1 物件的例項化 在c 中類是乙個模板,物件的例項化其實就是計算機根據乙個類的設計製造出多個物件的過程。物件例項化有兩種方式 2 從棧例項化 class tv 類名 物件 int main void tv tv tv tv 20 return 0 3 從堆例項化物件 int main int p n...

C 類和物件 封裝

c 物件導向三大特性 封裝 繼承 多型 將屬性和行為作為乙個整體,表現生活中的事物 將屬性和行為加以許可權控制 public 公共許可權 類內可以訪問,類外可以訪問 protected 保護許可權 類內可以訪問,類外不可以訪問 private 私有許可權 類內可以訪問,類外不可以訪問 在c 中str...

C 學習記錄 (4)類和物件 封裝

下面就是c 對於c的不同 物件導向程式設計。封裝就是把屬性和行為作為乙個整體,並加以許可權控制。訪問許可權有 public protected private 1 public 類內和類外都可以訪問。2 protected 類內可以訪問 內外不能訪問。繼承後,子類可以訪問父類的protected。3...