C語言模擬實現C 的繼承與多型

2021-08-04 20:41:45 字數 1093 閱讀 8533

一、面向過程程式設計與物件導向程式設計的區別

眾所周知,c語言是一種典型的面向過程程式語言,而c++確實在它的基礎上改進的一款物件導向程式設計語言,那麼,面向過程與物件導向到底有什麼樣的區別呢?

【從設計方法角度看】

面向過程程式設計方法採用函式(或過程)來描述對資料的操作,但又將函式與其操作的資料分離開來。

物件導向程式設計方法是將資料和物件的操作封裝在一起,作為乙個整體來處理。

【從維護角度看】

面向過程程式設計以過程為中心,難於維護。

物件導向程式設計以資料為中心,資料相對功能而言,有較強的穩定性,因此更易於維護。

二、繼承與多型的概念

繼承:是物件導向最顯著的乙個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的資料屬性

和行為,並能擴充套件新的能力,已有類被稱為父類/基類,新增加的類被稱作子類/派生類。

多型:按字面的意思就是「多種狀態」。在物件導向語言中,介面的多種不同現方式即為多型。同一操作作

用於不同的物件,可以有不同的解釋,產生不同的執行結果,這就是多型性。簡單說就是允許基類的

指標指向子類的物件。

三、**實現c語言模擬繼承與多型

#pragma once

#include

using

namespace

std;

//c++中的繼承與多型

struct a

;struct b:public a //c++中的繼承:b類公有繼承a類

;//c語言模擬c++的繼承與多型

typedef

void (*fun)(); //定義乙個函式指標來實現對成員函式的繼承

struct _a //父類

;struct _b //子類

;void _fa() //父類的同名函式

void _fb() //子類的同名函式

C語言模擬實現C 的繼承與多型

一 面向過程程式設計與物件導向程式設計的區別 眾所周知,c語言是一種典型的面向過程程式語言,而c 確實在它的基礎上改進的一款物件導向程式設計語言,那麼,面向過程與物件導向到底有什麼樣的區別呢?從設計方法角度看 面向過程程式設計方法採用函式 或過程 來描述對資料的操作,但又將函式與其操作的資料分離開來...

C語言模擬實現C 的繼承與多型示例

一 面向過程程式設計與物件導向程式設計的區別 眾所周知,c語言是一種典型的面向過程程式語言,而c 確實在它的基礎上改進的一款物件導向程式設計語言,那麼,面向過程與物件導向到底有什麼樣的區別呢?從設計方法角度看 面向過程程式設計方法採用函式 或過程 來描述對資料的操作,但又將函式與其操作的資料分離開來...

用C語言模擬實現c 的繼承與多型特性

一 我們知道,c語言是一種面向過程的程式語言,而c 是一款在它的語法基礎上改進的物件導向的程式語言 1 面向過程與物件導向的區別 從設計方法角度看 面向過程程式設計方法是用函式 即演算法過程 對資料進行操作,但又將函式與其操作的資料分離開來。物件導向程式設計方法是將物件的屬性資料和對屬性資料的操作封...