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...