C C 基本語法,入門及提高(3)

2021-08-06 00:09:55 字數 676 閱讀 4204

-- 虛函式和多型,封裝與繼承

多型就是要通過基類介面來使用派生類,如果基類還需要知道派生類的資訊……

c++ 語言中自帶物件導向支援,如封裝、繼承、多型等物件導向的基本特徵。 c 原本是面向過程的語言,自身沒有內建這些特性,但我們還是可以利用 c 語言本身已有的特性來實現物件導向的一些基本特徵。接下來我們就一一來細說封裝、繼承、多型、純虛類等物件導向特性在 c 語言中如何實現,並且給出例項。

封裝在 c++ 語言中有 protected 、 private 關鍵字在語言層面上支援,而 c 語言中沒有這些。 c 有結構體( struct ),其實可以實現封裝和隱藏。虛函式是 c++ 裡面最有意義的乙個特性,是多型的基礎。在 c 中,用結構體內的函式指標和 c++ 的成員函式對應, c 的這種方式,所有函式都天生是虛函式(指標可以隨時修改哦)。

-- 常說的過載大概有三種含義:

其一,函式過載,指函式名字一樣,引數個數、型別不一樣的函式宣告和實現。由於 c 編譯器的緣故,不支援。不過這個影響不大。

其二,重定義或者說覆蓋,指派生類中定義與基類簽名一樣(名字、返回值、引數完全一樣)的非虛函式,這樣派生類的中的函式會覆蓋基類的同簽名函式,通過成員操作符訪問時無法訪問基類的同簽名函式。

其三,虛函式重寫,指在派生類中實現基類定義的虛函式或純虛函式。虛函式是實現多型的關鍵,可以在結構體中使用函式指標來表達,但要完全實現,也很麻煩。

C 基本語法,入門及提高(5)

容易混淆的 函式指標 指標函式 陣列指標 指標陣列 類模板 模板類 函式模板 模板函式。c 包含過程程式設計,面對物件程式設計和通用程式設計 模板 c只有過程程式設計.有符號和無符號int的區別 int就是signed int,書上寫的時候都是用 signed int表示signed可以省略,int...

Python3基礎系列 基本入門語法

本文簡單地介紹了python的一些基本入門知識,通過對這些知識的了解,大家可以寫一些簡單的 同時也為後面深入理解打下基礎。本文的主要內容如下 值 即value,通常有 1,2,3.1415,bright rose 型別 不同的值有不同的型別。值型別 1int型 整型 bright str字串型 3....

python入門 基本語法

標準資料型別 number 數字 string 字串 list 列表 tuple 元組 sets 集合 dictionary 字典 number只支援int 表示長整型 float,bool,complex 複數 python中有type 函式檢測變數型別 del 要刪除物件 可以刪除物件 1 py...