最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言模擬實(shí)現(xiàn)C++的繼承與多態(tài)示例

 更新時間:2017年05月18日 14:52:27   作者:snow_5288  
本篇文章主要介紹了C語言模擬實(shí)現(xiàn)C++的繼承與多態(tài)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、面向過程編程與面向?qū)ο缶幊痰膮^(qū)別

眾所周知,C語言是一種典型的面向過程編程語言,而C++確實(shí)在它的基礎(chǔ)上改進(jìn)的一款面向?qū)ο缶幊陶Z言,那么,面向過程與面向?qū)ο蟮降子惺裁礃拥膮^(qū)別呢?

【從設(shè)計方法角度看】

面向過程程序設(shè)計方法采用函數(shù)(或過程)來描述對數(shù)據(jù)的操作,但又將函數(shù)與其操作的數(shù)據(jù)分離開來。

面向?qū)ο蟪绦蛟O(shè)計方法是將數(shù)據(jù)和對象的操作封裝在一起,作為一個整體來處理。

【從維護(hù)角度看】

面向過程程序設(shè)計以過程為中心,難于維護(hù)。

面向?qū)ο蟪绦蛟O(shè)計以數(shù)據(jù)為中心,數(shù)據(jù)相對功能而言,有較強(qiáng)的穩(wěn)定性,因此更易于維護(hù)。

二、繼承與多態(tài)的概念

繼承:是面向?qū)ο笞铒@著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性 和行為,并能擴(kuò)展新的能力,已有類被稱為父類/基類,新增加的類被稱作子類/派生類。

多態(tài):按字面的意思就是“多種狀態(tài)”。在面向?qū)ο笳Z言中,接口的多種不同現(xiàn)方式即為多態(tài)。同一操作作 用于不同的對象,可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果,這就是多態(tài)性。簡單說就是允許基類的 指針指向子類的對象。

三、代碼實(shí)現(xiàn)C語言模擬繼承與多態(tài)

#pragma once
#include <iostream>
using namespace std;

//C++中的繼承與多態(tài)
struct A
{
 virtual void fun() //C++中的多態(tài):通過虛函數(shù)實(shí)現(xiàn)
 {
  cout<<"A:fun()"<<endl;
 }

 int a;
};
struct B:public A   //C++中的繼承:B類公有繼承A類
{
 virtual void fun() //C++中的多態(tài):通過虛函數(shù)實(shí)現(xiàn)(子類的關(guān)鍵字virtual可加可不加)
 {
  cout<<"B:fun()"<<endl;
 }

 int b;
};

//C語言模擬C++的繼承與多態(tài)

typedef void (*FUN)();  //定義一個函數(shù)指針來實(shí)現(xiàn)對成員函數(shù)的繼承

struct _A  //父類
{
 FUN _fun; //由于C語言中結(jié)構(gòu)體不能包含函數(shù),故只能用函數(shù)指針在外面實(shí)現(xiàn)

 int _a;
};

struct _B   //子類
{
 _A _a_;  //在子類中定義一個基類的對象即可實(shí)現(xiàn)對父類的繼承
 int _b;
};

void _fA()  //父類的同名函數(shù)
{
 printf("_A:_fun()\n");
}
void _fB()  //子類的同名函數(shù)
{
 printf("_B:_fun()\n");
}


void Test()
{
 //測試C++中的繼承與多態(tài)
 A a; //定義一個父類對象a
 B b; //定義一個子類對象b

 A* p1 = &a; //定義一個父類指針指向父類的對象
 p1->fun(); //調(diào)用父類的同名函數(shù)
 p1 = &b;  //讓父類指針指向子類的對象
 p1->fun(); //調(diào)用子類的同名函數(shù)


 //C語言模擬繼承與多態(tài)的測試
 _A _a; //定義一個父類對象_a
 _B _b; //定義一個子類對象_b
 _a._fun = _fA;  //父類的對象調(diào)用父類的同名函數(shù)
 _b._a_._fun = _fB; //子類的對象調(diào)用子類的同名函數(shù)

 _A* p2 = &_a; //定義一個父類指針指向父類的對象
 p2->_fun();  //調(diào)用父類的同名函數(shù)
 p2 = (_A*)&_b; //讓父類指針指向子類的對象,由于類型不匹配所以要進(jìn)行強(qiáng)轉(zhuǎn)
 p2->_fun();  //調(diào)用子類的同名函數(shù)
}

運(yùn)行結(jié)果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文搞懂c++中的std::move函數(shù)

    一文搞懂c++中的std::move函數(shù)

    這篇文章主要介紹了c++中的std::move函數(shù),在探討c++11中的Move函數(shù)前,先介紹兩個概念(左值和右值),對c++?std::move函數(shù)相關(guān)知識感興趣的朋友一起看看吧
    2022-07-07
  • C++基于reactor的服務(wù)器百萬并發(fā)實(shí)現(xiàn)與講解

    C++基于reactor的服務(wù)器百萬并發(fā)實(shí)現(xiàn)與講解

    這篇文章主要介紹了C++基于reactor的服務(wù)器百萬并發(fā)實(shí)現(xiàn)與講解,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C++常用函數(shù)總結(jié)(algorithm 頭文件)

    C++常用函數(shù)總結(jié)(algorithm 頭文件)

    本文給大家詳細(xì)介紹了algorithm 頭文件中最常用的函數(shù)及其使用方法,當(dāng)然這只是其中的一部分,algorithm 頭文件中還有很多其他的函數(shù),感興趣的朋友一起看看吧
    2023-12-12
  • C++實(shí)現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換成int整形值的示例

    C++實(shí)現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換成int整形值的示例

    今天小編就為大家分享一篇關(guān)于C++實(shí)現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換成int整形值的示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 基于C語言打造高效便捷的通訊錄管理系統(tǒng)

    基于C語言打造高效便捷的通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何基于C語言打造高效便捷的通訊錄管理系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • C語言小知識之為什么要使用指針詳析

    C語言小知識之為什么要使用指針詳析

    指針是C語言中一個非常重要的概念,也是C語言的特色之一,使用指針可以對復(fù)雜數(shù)據(jù)進(jìn)行處理,能對計算機(jī)的內(nèi)存分配進(jìn)行控制,在函數(shù)調(diào)用中使用指針還可以返回多個值,這篇文章主要給大家介紹了C語言小知識之為什么要使用指針的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • C語言 存儲類詳解及示例代碼

    C語言 存儲類詳解及示例代碼

    本篇文章主要介紹C語言 存儲類,這里幫大家整理了存儲類的基礎(chǔ)資料,并提供示例代碼和詳細(xì)介紹,有興趣的小伙伴可以參考下
    2016-08-08
  • C++變量,常量,數(shù)組和字符串詳解

    C++變量,常量,數(shù)組和字符串詳解

    這篇文章主要介紹了C++變量,常量,數(shù)組和字符串,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-10-10
  • C++實(shí)現(xiàn)LeetCode(78.子集合)

    C++實(shí)現(xiàn)LeetCode(78.子集合)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(78.子集合),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言中的運(yùn)算符優(yōu)先級和結(jié)合性一覽表

    C語言中的運(yùn)算符優(yōu)先級和結(jié)合性一覽表

    這篇文章主要介紹了C語言中的運(yùn)算符優(yōu)先級和結(jié)合性一覽表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

合山市| 红原县| 蕉岭县| 平度市| 绥芬河市| 博乐市| 左贡县| 吉首市| 页游| 嵊泗县| 土默特右旗| 周宁县| 凌海市| 三明市| 塔河县| 鹤峰县| 夏河县| 兴安县| 巩义市| 乐平市| 上林县| 晋城| 长顺县| 罗城| 平阳县| 盱眙县| 嵊泗县| 临城县| 贵州省| 林芝县| 沂水县| 神池县| 南安市| 合川市| 淳化县| 基隆市| 视频| 准格尔旗| 井冈山市| 曲水县| 读书|