C 掃盲學習

2021-06-21 16:56:50 字數 2307 閱讀 1162

1.繼承:

c++ 的繼承用冒號「:」,

如class a:public b

其中b前面的public是訪問許可權的乙個標誌,

共有三個最低許可權級別:private  protected  public

class a:private b //從b中繼承來的成員變數和方法的屬性全部變成private

class a:protected b //從b中繼承來的所有public方法的屬性變成protected

class a:public b //從b中繼承來的成員變數和方法保持原有屬性

實現多重繼承時,基類間用「,」號隔開

class crectangle: public cpolygon, public coutput

2.類中方法可以在類中宣告,在類外定義,使用雙冒號進行宣告:

範圍操作符 (::) 宣告了被定義的成員所屬的class名稱,並賦予被定義成員適當的範圍屬性,這些範圍屬性與在class內部定義成員的屬性是一樣的。

例如,在下面的例子中,我們在函式set_values() 中引用了private變數x 和 y,這些變數只有在class內部和它的成員中才是可見的。

在class內部直接定義完整的函式,和只定義函式的原型而把具體實現放在class外部的唯一區別在於,在第一種情況中,

編譯器(compiler) 會自動將函式作為inline 考慮,而在第二種情況下,函式只是一般的class成員函式:

#include class crectangle 

friend crectangle duplicate (crectangle);

};void crectangle::set_values (int a, int b)

crectangle duplicate (crectangle rectparam)

int main ()

3.友善類和友善函式:

在類中宣告乙個函式和乙個類為友善的,可使友善函式和類訪問類中的private和protected屬性的成員變   量和方法。

友善類宣告:friend class crectangle;

友善函式宣告:friend crectangle duplicate (crectangle);

4.抽象類和虛函式

虛函式:在函式的前面 加關鍵字virtual:

virtual int area (void)

純虛函式:在函式名前面加關鍵字virtual,不用定義,直接後面加=0;

virtual int area (void) =0;

包含純虛函式的為抽象類,不能直接例項化物件。

可以用指向基類的指標實現向上轉型,指向基類的指標只能呼叫在基類中定義過的的函式,

可以在基類中加虛擬或純虛函式,在子類中重寫,用指向基類的指標呼叫方法,

可呼叫相應子類的重寫的方法,實現多型特性。

5.模板

模板按其字面意思是定義好乙個模子,引數為泛型別,不收引數型別的限制,如我定義乙個函式,

傳入int可以,傳入long也可以,定義的時候有一定的格式要求,

函式模板:

template t getmax (t a, t b) 

int main ()

類模板:

template class pair 

t getmax ();

};template t pair::getmax ()

int main ()

當然也有模板的特殊化,即可指定特定的資料型別:

template <> class pair

6. 命名空間就是把全域性範圍分割成許多子域範圍,乙個子域範圍用乙個名字來表示:

#include namespace first 

namespace second

int main ()

上面的呼叫相應空間中的成員變數都使用範圍操作符::,

當然還有另外一種的方式即using namespace:

#include namespace first 

namespace second

int main ()

這裡要注意,語句using namespace 只在其被宣告的語句塊內有效(乙個語句塊指在一對花括號{}內的一組指令)。

docker學習筆記 掃盲貼

docker的總架構圖 docker對使用者來講是乙個c s模式的架構,docker client與docker daemon建立通訊,docker daemon作為docker架構中的主體部分,首先提供server的功能使其可以接受docker client的請求 而後engine執行docker...

C 的邊邊角角掃盲

指標陣列 c c 語言中,陣列元素全為指標的陣列。一維指標陣列的定義形式 型別名 陣列識別符號 陣列長度 比如 int arr 100 判斷 isalnum 判斷是否是數字 isalpha 字母 isblank空格 iscntrl 控制字元 isdigit 小數 isgraph 圖示 islower...

C 關鍵字掃盲 Sealed 密封

sealed官方描述 應用於某個類時,sealed 修飾符可阻止其他類繼承自該類。還可以對替代基類中的虛方法或屬性的方法或屬性使用 sealed 修飾符。這使你可以允許類派生自你的類並防止它們替代特定虛方法或屬性。專案 learnsealed 環境vs2017 net core2.0 應用於方法或屬...