C 程式設計中多型性的實現機制到底是什麼呀?

時間 2025-05-08 09:45:14

1樓:友如意鄢楓

樓上的說不對。

在c++中,多型性分為兩種,一種稱為編譯時多型,另一種為執行時多型。

分別解釋下:

1.編譯時多型,也就是函式過載,所謂函式過載是指同乙個函式名可以對應著多個函式的實現,具體呼叫哪個按照由引數個數,引數型別等來決定,這個猜野喚簡單,就不說了。

2.執行時多型,就是虛擬函式。

在定義了虛穗凱函式後,可以在基類的派生類中對虛擬函式重新定義,以實現你所想要的功能脊敬。

2樓:雋新晴潮鯤

乙個對外介面,多塌姿旁個內在實現」

補充:程式設計是編寫程式的中文簡稱,就是讓計算機為解決某個問題而使用某種程式設計語言編寫程式**,並最終得到相應結果的過程。

為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。冊圓這種人和計算機之間交流的過程就是程式設計。

程式設計:設計具備邏輯流動作用的一種「可控體系」【注:程式設計不一定是針對電腦程式而言的,針對具備邏輯計算力的體系,都可以團橡算程式設計】

例子:①比如編寫一段**程式②編寫乙個控制裝置體系。

1. 編譯時的多型性與執行時的多型性有什麼區別,他們的實現方法有什麼不同?

3樓:遠巨集

多型從實現的角度可以劃為兩類:編譯時多型和執行時多型。

編譯時的多型性:就是在程式編譯的時候,也就是生成解決方案的時候就決定要實現什麼操作。

執行時的多型性:就是指直到系統執行時,才根據實際情況決定實現何種操作。

1、多型實現形式不同:

編譯時的多型是通過靜態連編來實現的;執行時的多型是用動態連編來實現的。

2、多型性通過方式不同:

編譯時的多型性主要是通過函式過載和運算子過載來實現的;執行時的多型性主要是通過虛擬函式來實現的。

4樓:網友

乙個是靜態的,乙個是動態的,靜態的就是指函式的過載而已,實現方法是根據函式的名字不同來呼叫的,而執行多型是我們常說的多型,他的實現方法是更加乙個虛擬函式表裡維護的,他需要繼承,虛擬函式,指標,子類重寫父類的虛擬函式才能實現多型。

5樓:那是寡xun人yan的江山

從系統實現的角度看,多型性分為兩類:靜態多型性和動態多型性。

靜態多型性是通過函式的過載實現的。由函式過載和運算子過載(運算子過載實質上也是函式過載)形成的多型性屬於靜態多型性,要求在程式編譯時就知道呼叫函式的全部資訊,因此,在程式編譯時系統就能決定要呼叫的是哪個函式。靜態多型性又稱編譯時的多型性。

靜態多型性的函式呼叫速度快、效率高但缺乏靈活性,在程式執行前就應決定執行的函式和方法。

動態多型性的特點是:不在編譯時確定呼叫的是哪個函式,而是在程式執行過程中才動態地確定操作所針對的物件。它又稱執行時的多型性。

動態多型性是通過虛擬函式(virtual function)實現的。

簡述多型的概念,多型實現的條件,c++問題

6樓:感性的主宰

父類的引用或指標來操作子類的物件。

關於C 多型性的問題

力波鴻 你應該把main裡的 someone name name 改為 beauty someone name name 因為你用的是person指標,person someone 你若不註釋掉beauty裡的name,someone name會指向person的name,而不是beauty裡的na...

C 靜態多型是什麼意思,C 支援兩種多型性分別是 ? ?

靜態多型也稱編譯時多型性,是通過函式過載 包括運算子過載 和模版實現的。當兩個或兩個以上的函式共用乙個函式名時,稱為函式的過載 什麼叫做多型性 在c 中是如何實現多型的?c 中函式過載能實現動態多型性還是靜態多型性?c 中的函式過載能實現靜態多型性。細節如下 多型是指同乙個名稱可以代表不同的含義 多...

c語言程式設計實現23的矩陣轉置,C語言程式設計實現2 3的矩陣轉置

include iostream usingnamespacestd voidzhuangzhi inta 3 3 intm,n,i for m 0 m 2 m for i 0 i 3 i if m!1 i!0 n a i m a i m a m i a m i n intmain inta 3 3...