C 學習記錄2

2021-07-30 03:39:38 字數 1348 閱讀 5839

this 實際上是成員函式的乙個形參,在呼叫成員函式時將物件的位址作為實參傳遞給 this。不過 this 這個形參是隱式的,它並不出現在**中,而是在編譯階段由編譯器默默地將它新增到引數列表中。

static 成員變數必須在類宣告的外部初始化,具體形式為:

type class::name = value;

type 是變數的型別,class 是類名,name 是變數名,value 是初始值。將上面的 m_total 初始化:

int student::m_total = 0;

靜態成員變數在初始化時不能再加 static,但必須要有資料型別。被 private、protected、public 修飾的靜態成員變數都可以用這種方式初始化。

注意:static 成員變數的記憶體既不是在宣告類時分配,也不是在建立物件時分配,而是在(類外)初始化時分配。反過來說,沒有在類外初始化的 static 成員變數不能使用。

注意:static 成員變數不占用物件的記憶體,而是在所有物件之外開闢記憶體,即使不建立物件也可以訪問。

#include

using

namespace std;

class

student

;//初始化靜態成員變數

int student::m_total=0;

student::

student

(char

*name,

int age,

float score):

m_name

(name),

m_age

(age),

m_score

(score)

void student::

show

()int

main

()string

c_str(),該函式能夠將 string 字串轉換為c風格的字串,並返回該字串的 const 指標(const char*)。

+來拼接字串時,運算子的兩邊可以都是 string 字串,也可以是乙個 string 字串和乙個c風格的字串,還可以是乙個 string 字串和乙個字元陣列,或者是乙個 string 字串和乙個單獨的字元。 s3

.erase(5

,3); 刪除s2=

s1.substr(6

,6); 提取

intindex =s1

.find(s2

,5); 查詢,返回第幾位 ,無結果返回很大值。 第二個引數為從第幾位開始查詢

intindex =s1

.rfind(s2

,6); 查詢,返回第幾位,無結果返回很大值。第二個引數是最多查詢到第幾位

C 學習記錄(2)

csize類 類csize是對windows結構size的封裝,凡是能用size結構的地方都可以用csize代替。結構size表示乙個矩形的長度和寬度,其定義為 typedef struct tagsize size 其中 cx cy分別是寬度和高度。這些都是巨集定義,不是函式。在begin mes...

I2C學習記錄

i2c inter integrated circuit 匯流排是由philips公司開發的兩線式序列匯流排,用於連線微控制器及其外圍裝置。是微電子通訊控制領域廣泛採用的一種匯流排標準。通過序列資料 sda 線和序列時鐘 scl 線在連線到匯流排的器件間傳遞資訊。通過序列資料 sda 線和序列時鐘 ...

C語言學習記錄(2)

以上一次學習記錄 中的hello world!為例 include 標頭檔案也叫編譯預處理指令 intmain void 定義主函式 函式結束首先,在每行後的說明文字是注釋內容,後的文字不參與程式的執行,並且,是單行注釋,也就是說其後面的內容是不參與執行的,可以佔據一整行,但是不能跨行。類似作用的符...