C 學習記錄(3)

2021-10-19 12:30:05 字數 2744 閱讀 2329

1.設計乙個類,求圓的周長

1.1 class + 類名

1.2 公共許可權 public:

1.3 設計成員屬性

1.3.1 半徑 int m_r;

1.4 設計成員函式

1.4.1 獲取圓的周長 int calculatezc()

1.4.2 獲取圓的半徑 int getr()

1.4.3 設定圓的半徑 void setr()

1.5 通過類建立物件的過程 稱為 例項化物件

#define _crt_secure_no_warnings

#include

using

namespace std;

//設計乙個類,求圓的周長

const

double pi =

3.14

;//class + 類名

class

circle

//半徑 類中的變數稱為是成員變數 成員屬性

int m_r;

//設定半徑

void

setr

(int r)

//獲取半徑

intgetr()

};void

test1_1()

intmain()

2.1 函式過載是:允許函式名相同,這種現象叫函式過載

2.2 函式過載作用:是為了方便使用函式名

2.3函式過載的條件:同乙個作用域、引數的個數不同、引數的順序不同、引數的型別不同

//引數的個數不同

void

func()

void

func

(int a)

//引數的型別不同

void

func

(char c)

//引數的順序不同

void

func

(int a,

double b)

void

func

(double b,

int a)

2.4 呼叫過載函式的注意

2.4.1 嚴格的型別匹配,如果型別不匹配那麼嘗試轉換,轉換成功就呼叫,失敗就報錯。

void

test3_1()

2.5 函式過載和函式預設引數一起使用,需要注意二義性問題

//函式過載和函式預設引數一起使用

void

myfunc

(int a,

int b =0)

void

myfunc

(int a)

void

test3_2()

2.6 函式的返回不作為函式過載的條件

3.1 函式過載的原理是在彙編時,給各個函式取別名,c語言不可以過載的原因是沒有取別名

4.1 c++的函式在彙編時會給函式取別名,c語言不會,這時如果c++來呼叫c語言的函式,那麼c++會去找取了別名的函式,但是c語言沒有取別名,這時會出錯

test.**件中

//這是告訴c++編譯器,找下面的函式,要以c語言的方式去尋找

#ifdef __cplusplus

extern

"c"#endif

5.1 類是自定義資料型別,是c語言的結構體進化而成的

5.2 物件是類例項化出的,通俗講,是用乙個資料型別來定義變數

class

maker

//這個是類};

intmain()

6.1 封裝:把屬性(變數)和方法(函式)封裝到類內,然後給這些資料賦予許可權

6.2 為什麼要有封裝

(1)防止亂呼叫函式和變數,出現錯誤

(2)維護**更方便

6.3 許可權

//封裝:1. 把屬性和方法放到類中。2.給這些資料賦予許可權

class

maker

void

printmaker()

private

:// 私有許可權

int id;

string name;

protected

://保護許可權

int a;};

class

son:

public maker};

//類外可以訪問共有許可權的成員

//類外不可以訪問私有許可權的成員

//類外不可以訪問受保護許可權的成員

//子類的類內可以訪問父類的保護許可權的成員

//類內沒有許可權之分

void

test3_1()

6.4 盡量把屬性設定為私有許可權

6.4.1 可以控制屬性的讀寫許可權

6.4.2 可以賦予客戶端訪問資料的一致性

class

maker

//讀 string getname()

//寫void

setage

(int age)

}//讀

intgetid()

private

: string name;

int age;

int id;};

intmain()

C 學習記錄3

十 引用 reference 4 引用型函式引數 1 可以將引用用於函式的引數,這時形參就是實參的別名,可以通過形參直接修飾實參,同時還可以避免引數傳遞的過程,減小函式的呼叫開銷,提高 的執行效率 2 引用型引數可能會以外修改實參,如果不希望修改實參,可以將形參宣告為常引用,提高傳參效率的同時還可以...

Linux學習記錄(3)

ifconfig eth0 位址 ifconfig 檢視當前的位址ip vim文字編輯器 vim 開啟的該檔名 命令列模式 按i進入插入模式 底行模式 wq為儲存 wq 為強制儲存 在底行 set number可以顯示序號 sudo apt get install vim gtk set numbe...

Java學習記錄3

封裝就是把物件的資訊和內部邏輯結構隱藏起來 private default 如果類中成員不使用任何訪問控制符修飾,就稱它是包訪問許可權。使用包訪問許可權修飾的成員可以被相同包下的其他類訪問。protected 如果類成員中使用protected修飾,則這個成員既可以被同乙個包下的其他類訪問,也可以被...