C 學習總結NO 1

2021-06-21 22:31:55 字數 1732 閱讀 5601

c++相對於c的變化

1、資料型別:bool、成員指標/成員函式指標、引用、類

2、函式:內聯函式、預設形參(從右邊開始)、函式過載

3、強制型別轉換

const_cast : 用於臨時去掉const限制 ,返回乙個指向非常量的指標(或引用);

static_cast : 數值之間,有一方是void*的指標之間的轉換;

reinterpret_cast : 任意兩種指標型別之間,指標與數值型別之間

dynamic_cast : 用於父子類之間

4、使用名字空間。標準庫里的所有東西都屬於std名字空間。使用者編寫的程式如果沒有指定名字空間,使用匿名名字空間(::)。

5、

建構函式/拷貝建構函式:在物件建立時呼叫

析構函式:在物件銷毀時呼叫

private/protected/public :只要是在類的成員函式和友元中,就可以直接訪問類的私有成員,無論類的物件是誰

靜態成員函式只能呼叫類的靜態成員,靜態成員變數不屬於某個物件,只能在類的定義時初始化

const修飾的成員函式不能改變當前的物件成員(如果某個成員變數被static修飾,則該變數不屬於某個物件,可以被修改)

class a

int get(a& d)const

static void test() };

int a::a = 0;

在類a中a為靜態成員,只能在定義時初始化,不能在建構函式中初始化;test函式為靜態成員,不能呼叫非靜態成員get();

get()被const修飾,不能改變當前物件成員,所以b++不對,由於a不屬於當前物件,可以被改變;

在get()中,由於物件d也是a型別,所以可以直接呼叫私有成員。private/protected/public是根據類來設定訪問許可權的,而不是物件;

6、乙個物件呼叫成員函式時,會隱含把物件的位址傳進去,賦值給this指標。(用於區分同類的各個物件)

7、如果要建立常物件,必須重寫建構函式

8、繼承方式:private/protected/public。乙個基本的原則:本類的資料由本類維護,子類在繼承父類的私有成員資料時,也只能通過父類提供的介面函式使用

9、動態多型:虛函式、public繼承、指標或引用(基類指標或引用指向子類物件)。

在建構函式、析構函式和靜態函式中呼叫虛函式時,不能實現多型。析構函式一般也要定義為虛函式。

動態多型是靠虛表指標實現的。含有虛函式的類在構造物件時,都會多分配4個位元組的空間來儲存虛函式表。c++的標準規定,編譯器必需要保證虛函式表的指標存在於物件例項中最前面的位置(這是為了保證正確取到虛函式的偏移量)

10、io物件可以轉化成bool型別,對處於正常狀態的io物件轉化為true,處於錯誤狀態的io物件轉化為false。當io物件

處於錯誤狀態時,拒絕io操作,需要呼叫clear清除錯誤狀態。

11、在使用stl時,注意迭代器失效的情況

//***********************************==

當傳遞給函式引數的實參為臨時物件或匿名物件,且函式引數為引用時,必須用const修飾

C語言打卡學習 no 1

這就是老師的主頁 迂者 賀利堅 我本身專業學習中就會學到c語言,但是平常沒有好好學,大一第一次期末考試,多虧了老師拉了一把,以六十分的成績躲過了補考重修。又因為這個學期比較特殊,在家自律學習,效果不是很理想。看到同學們都有認真學習,害怕開學之後發現其實只有自己乙個人在家玩,於是我下定決心,自己在家也...

Python學習筆記NO 1

縮排 常用語句 常用函式 python的注釋有兩種,一種是單行注釋,一種是多行注釋 用 開頭的一行 為注釋 以 開頭並以 結尾的一塊 為注釋 python中的 縮排是一種語法,表示 從屬關係 一般用四個空格或乙個tab鍵表示乙個縮排,但也可以自定義,自定義後的 縮排量需統一 在python語法中提供...

Django學習筆記NO1

生成資料庫遷移檔案 python manage.py makemigrations 執行遷移 python manage.py migrate 建立超級管理員 python manage.py createsuperuser django獲取使用者發出的請求 django在工程配置檔案setting...