亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

解析C++編程中的繼承方面的運用

2020-05-23 14:14:19
字體:
供稿:網(wǎng)友

這篇文章主要介紹了解析C++編程中的繼承方面的運用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

C++繼承與組合詳解

我們知道,在一個類中可以用類對象作為數(shù)據(jù)成員,即子對象(詳情請查看:C++有子對象的派生類的構(gòu)造函數(shù))。實際上,對象成員的類型可以是本派生類的基類,也可以是另外一個已定義的類。在一個類中以另一個類的對象作為數(shù)據(jù)成員的,稱為類的組合(composition)。

例如,聲明Professor(教授)類是Teacher(教師)類的派生類,另有一個類BirthDate(生日),包含year,month,day等數(shù)據(jù)成員。可以將教授生日的信息加入到Professor類的聲明中。如:

 

 
  1. class Teacher //教師類 
  2. public
  3. // Some Code 
  4. private
  5. int num; 
  6. string name; 
  7. char sex; 
  8. }; 
  9. class BirthDate //生日類 
  10. public
  11. // Some Code 
  12. private
  13. int year; 
  14. int month; 
  15. int day; 
  16. }; 
  17. class Professor:public Teacher //教授類 
  18. public
  19. // Some Code 
  20. private
  21. BirthDate birthday; //BirthDate類的對象作為數(shù)據(jù)成員 
  22. }; 

類的組合和繼承一樣,是軟件重用的重要方式。組合和繼承都是有效地利用已有類的資源。但二者的概念和用法不同。通過繼承建立了派生類與基類的關(guān)系,它是一種 “是”的關(guān)系,如“白貓是貓”,“黑人是人”,派生類是基類的具體化實現(xiàn),是基類中的一 種。通過組合建立了成員類與組合類(或稱復(fù)合類)的關(guān)系,在本例中BirthDate是成員類,Professor是組合類(在一個類中又包含另一個類的對象成員)。它們之間不是‘‘是”的 關(guān)系,而是“有”的關(guān)系。不能說教授(Professor)是一個生日(BirthDate),只能說教授(Professor)有一個生日(BirthDate)的屬性。

Professor類通過繼承,從Teacher類得到了num,name,age,sex等數(shù)據(jù)成員,通過組合,從BirthDate類得到了year,month,day等數(shù)據(jù)成員。繼承是縱向的,組合是橫向的。

如果定義了Professor對象prof1,顯然prof1包含了生日的信息。通過這種方法有效地組織和利用現(xiàn)有的類,大大減少了工作量。如果有

 

 
  1. void fun1(Teacher &); 
  2. void fun2(BirthDate &); 

在main函數(shù)中調(diào)用這兩個函數(shù):

 

 
  1. fun1(prof1); //正確,形參為Teacher類對象的引用,實參為Teacher類的子類對象,與之賦值兼容 
  2. fun2(prof1.birthday); //正確,實參與形參類型相同,都是BirthDate類對象 
  3. fun2(prof1); //錯誤,形參要求是BirthDate類對象,而prof1是Professor類型,不匹配 

如果修改了成員類的部分內(nèi)容,只要成員類的公用接口(如頭文件名)不變,如無必要,組合類可以不修改。但組合類需要重新編譯。

繼承在軟件開發(fā)中的重要意義

繼承是面向?qū)ο蠹夹g(shù)的重要內(nèi)容,有了繼承,使軟件的重用成為可能。

過去,軟件人員開發(fā)新的軟件,能從已有的軟件中直接選用完全符合要求的部件不 多,一般都要進(jìn)行許多修改才能使用,實際上有相當(dāng)部分要重新編寫,工作童很大??s短軟件開發(fā)過程的關(guān)鍵是鼓勵軟件重用。繼承機(jī)制解決了這個問題。編寫面向?qū)ο蟮某绦驎r要把注意力放在實現(xiàn)對自己有用的類上面,對已有的類加以整理和分類,進(jìn)行剪裁和修改,在此基礎(chǔ)上集中精力編寫派生類新增加的部分,使這些類能夠被程序設(shè)計的許多領(lǐng)域使用。繼承是C++和C的蟑重要的區(qū)別之一。

由于C++提供了繼承的機(jī)制,這就吸引了許多廠商開發(fā)各類實用的類庫。用戶將它們作為基類去建立適合于自己的類(即派生類),并在此基礎(chǔ)上設(shè)計自己的應(yīng)用程序。類庫的出現(xiàn)使得軟件的重用更加方便,現(xiàn)在有一些類庫是隨著C++編譯系統(tǒng)賣給用戶的。讀者不要認(rèn)為類庫是C++編譯系統(tǒng)的一部分。不同的C++編譯系統(tǒng)提供的由不同廠商開發(fā)的類庫一般是不同的。在一個C++編譯系統(tǒng)環(huán)境下利用類庫開發(fā)的稈序,在另一種C++編譯系統(tǒng)環(huán)境下可能不能工作,除非把類庫也移植過去。考慮到廣大用戶的情況,目前隨C++編譯系統(tǒng)提供的類庫是比較通用的,但它的針對性和實用范圍也隨之受到限制。 隨著C ++在全球的迅速推廣,在世界范圍內(nèi)開發(fā)用于各個領(lǐng)域的類庫的工作正日益興旺。

對類庫中類的聲明一般放在頭文件中,類的實現(xiàn)(函數(shù)的定義部分)是單獨編譯的,以目標(biāo)代碼形式存放在系統(tǒng)某一目錄下。用戶使用類庫時,不需要了解源代碼,但必須知道頭文件的使用方法和怎樣去連接這些目標(biāo)代碼(在哪個子目錄下),以便源程序在編譯后與之連接。

由于基類是單獨編譯的,在程序編譯時只需對派生類新增的功能進(jìn)行編譯,這就大大提高了調(diào)試程序的效率。如果在必要時修改了基類,只要基類的公用接口不變,派生類不必修改,但基類需要重新編譯,派生類也必須重新編譯,否則不起作用。

那么,人們?yōu)槭裁催@么看重繼承,要求在軟件開發(fā)中使用繼承機(jī)制,盡可能地通過繼承建立一批新的類?為什么不是將已有的類加以修改,使之滿足自己應(yīng)用的要求呢?

歸納起來,有以下幾個原因:

有許多基類是被程序的其他部分或其他程序使用的,這些程序要求保留原有的 基類不受破壞。使用繼承是建立新的數(shù)據(jù)類型,它繼承了基類的所有特征,但不改變基類本身?;惖拿Q、構(gòu)成和訪問屬性絲毫沒有改變,不會影響其他程序的使用。

用戶往往得不到基類的源代碼。如果想修改已有的類,必須掌握類的聲明和類的實現(xiàn)(成員函數(shù)的定義)的源代碼。但是,如果使用類庫,用戶是無法知道成員函數(shù)的代碼的,因此也就無法對基類進(jìn)行修改。

在類庫中,一個基類可能已被指定與用戶所需的多種組件建立了某種關(guān)系,因此 在類庫中的基類是不容許修改的(即使用戶知道了源代碼,也決不允許修改)。

實際上,許多基類并不是從已有的其他程序中選取來的,而是專門作為基類設(shè)計的。有些基類可能并沒有什么獨立的功能,只是一個框架,或者說是抽象類。人們根據(jù)需要設(shè)計了一批能適用于不同用途的通用類,目的是建立通用的數(shù)據(jù)結(jié)構(gòu),以便用戶在此基礎(chǔ)上添加各種功能,從而建立各種功能的派生類。

在面向?qū)ο蟪绦蛟O(shè)計中,需要設(shè)計類的層次結(jié)構(gòu),從最初的抽象類出發(fā),每一層派生類的建立都逐步地向著目標(biāo)的具體實現(xiàn)前進(jìn),換句話說,是不斷地從抽象到具體的過 程。每一層的派生和繼承都需要站在整個系統(tǒng)的角度統(tǒng)一規(guī)劃,精心組織。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
日韩电影免费一区| 丝袜老师在线| 高清国产午夜精品久久久久久| 福利电影导航| 国产福利视频一区二区| a视频免费观看| 久草视频在线资源站| 日韩欧美国产骚| 精品少妇一区二区三区视频免付费| 日本人妖一区二区| 国产欧美一区二区三区在线看蜜臀| 精品激情国产视频| heyzo国产| 成人黄色激情视频| 日韩aⅴ视频一区二区三区| 亚洲激情网站| 57pao国产一区二区| 国产精品久久久久久久一区探花| 超碰在线播放97| 日韩在线免费电影| 手机版av在线| 亚洲天堂久久久| 国内外成人在线| 国产一区不卡| 一本加勒比北条麻妃| 美国一区二区三区在线播放| 日韩精品视频在线看| 亚洲精品国产欧美在线观看| 自拍欧美一区| 国产成人欧美日韩在线电影| 国产精品免费人成网站| 自拍亚洲欧美老师丝袜| 日韩精品丝袜美腿| 欧美一区二区三区公司| 一区二区视频在线免费| 国产亚洲精品bt天堂精选| 亚洲精品一区二区三区香蕉| 亚洲国产日韩欧美在线观看| 国产经典av| 久久久精品久久久久久96| 久久影视精品| 国产l精品国产亚洲区久久| 永久av免费网站| 国产精品对白| 欧美啪啪网站| 欧美一级理论性理论a| 日韩高清一级片| 欧美国产综合| 妞干网在线观看| 7777精品久久久大香线蕉| 久久久久久久久久亚洲| 日韩在线精品强乱中文字幕| 欧美激情亚洲激情| 国产精品亚洲色图| 精品免费二区三区三区高中清不卡| 亚洲狠狠婷婷综合久久蜜桃| 97人人香蕉| 欧美性猛交xxx| 91亚洲一区精品| 综合激情在线| 国产又粗又猛视频免费| 国产成人自拍网| 久久久久久久久久久视频| 神马久久久久久久| 人成在线视频| 成人久久久精品国产乱码一区二区| 欧洲一区二区三区精品| 国产亚洲福利一区| 中文字幕a级片| 成人精品一区二区不卡视频| 国产精品久久久久av电视剧| 狂野欧美性猛交xxxxx视频| 伊人久久免费视频| 国产黄在线看| 日韩伦理一区二区三区av在线| 久久精品国产999大香线蕉| 337p亚洲精品色噜噜噜| ijzzijzzij亚洲大全| 81精品国产乱码久久久久久| 日韩欧美一区二区三区在线| 午夜日本精品| 四虎影视成人精品国库在线观看| 国产精一区二区三区| 天天综合天天| 久草免费福利在线| 亚洲少妇30p| 中文字幕有码在线| 俺去啦;欧美日韩| 亚洲精品aⅴ| 日韩精品一区二区三区国语自制| 亚洲剧情一区二区| av电影不卡在线观看| 黄色成人在线网站| h网站免费在线观看| 亚洲最大成人| 制服丝袜日韩| 日本中文字幕在线不卡| 欧美日韩精品免费在线观看视频| 国产精品一品二品| 日韩欧美一区在线观看| 国产性做久久久久久| 极品白嫩少妇无套内谢| 国产又爽又黄视频| 久久久久亚洲av无码麻豆| 一区二区三区四区高清视频| 国产成人精品www牛牛影视| 在线免费观看的av网站| 伊人中文在线| 日韩一区二区三区视频在线| 午夜精品偷拍| 精品白丝av| 四虎激情影院| 天天操天天干天天综合网| 日韩理论片中文av| 日本中文字幕免费在线观看| 成人好色电影| 欧美va亚洲va在线观看蝴蝶网| 国产精品久久久久婷婷二区次| 成人免费看视频| 中文字幕日本在线观看| 欧美极品少妇xxxxⅹ喷水| 久久一二三国产| 韩国精品免费视频| 无码精品一区二区三区在线播放| 懂色av粉嫩av蜜臀av一区二区三区| 99久久人妻精品免费二区| 黄色av网址在线免费观看| 国产午夜久久久久| 久久久蜜桃一区二区| 性欧美videohd高精| 九九九热视频| 18禁免费无码无遮挡不卡网站| 久久精品欧美一区二区三区不卡| 亚洲电影一级黄| 伊人久久国产精品| 久久另类ts人妖一区二区| 男人午夜视频| 内射毛片内射国产夫妻| 久久噜噜噜精品国产亚洲综合| 最近免费中文字幕大全免费第三页| chinese麻豆新拍video| 国内欧美视频一区二区| 给我免费观看片在线电影的| 热久久精品免费视频| 91在线地址| 欧美视频中文在线看| www.豆豆成人网.com| 114国产精品久久免费观看| 日韩国产欧美在线视频| 二区三区在线观看| 天天成人综合网| 丰满人妻一区二区三区四区53| 久久综合色天天久久综合图片| 人人妻人人澡人人爽精品日本| www.88av| 成人妇女淫片aaaa视频| 在线一级视频| www.一区二区三区| 一级片一区二区三区| 国产肥老妇视频| 亚洲精品字幕| 国产精品91一区二区| 视频午夜在线| 日韩精品电影一区亚洲| 精品视频一区二区| 精品久久久久久一区二区里番| 国产精品第6页| 午夜一区二区三区| 91久久黄色| www国产无套内射com| 欧洲生活片亚洲生活在线观看| 99国产精品无码| 男女高潮又爽又黄又无遮挡| 91久久精品国产性色| 91在线视频在线| 亚洲第一福利社区| 欧美疯狂性受xxxxx喷水图片| 91超碰国产精品| 人妻一区二区视频| 精品一区二区在线播放| 99视频精品免费视频| 视频一区在线免费看| 蜜臀av性久久久久蜜臀aⅴ流畅| 色婷婷精品久久二区二区密| 欧美日韩午夜视频在线观看| 色婷婷综合久久久久中文一区二区| 人人玩人人添人人澡免费| 狠狠躁日日躁夜夜躁av| 亚洲精品一区中文字幕乱码| 视频一区在线视频| 国产男女猛烈无遮挡91| 97国产在线播放| 欧美成人精品一区二区综合免费| 在线观看免费亚洲| 国产精品入口麻豆电影| 日韩欧美精品综合| a视频免费观看| 欧美色涩在线第一页| 亚洲第一欧美| 日本大胆欧美人术艺术动态| 秋霞精品一区二区三区| 免费大秀视频在线播放| 国内激情视频在线观看| 蜜桃福利入口| 国产视频手机在线| 神宫寺奈绪一区二区三区| 成人动漫免费在线观看| 国产精品久久久久av电视剧| 一区二区三区精品| 国产伦精品一区二区三区视频| 亚洲精品一品区二品区三品区| 亚洲国产精品久久网午夜小说| 丝袜诱惑制服诱惑色一区在线观看| 日韩精品在线中文字幕| www亚洲一区| 亚洲资源网你懂的| 日韩a级作爱片一二三区免费观看| 视频一区二区三| 精品亚洲国产视频| 日本少妇做爰全过程毛片| 伊人亚洲福利一区二区三区| 91视频九色网站| 神马久久资源| 污污污www精品国产网站| 国产啊啊啊视频在线观看| 玖草视频在线观看| 国产999精品久久| 98视频精品全部国产| 久久久亚洲精品一区二区三区| 尤物在线观看视频| 在线亚洲精品福利网址导航| 成年人在线观看网站| 亚洲图片欧美日产| 欧美不卡视频在线观看| 中文字幕在线视频播放| 国产日产精品一区二区三区| 国产黄色片免费在线观看| 中文字幕视频在线免费| a级国产乱理论片在线观看99| 91麻豆精品91久久久久同性| 久久亚洲国产精品一区二区| 国产日韩欧美一区二区东京热| 深夜激情久久| 久久精品一区二区三区不卡| 日韩精选在线| 欧美卡一卡二| 羞羞视频网站在线免费观看| 国产精品亚洲一区二区三区妖精| 农村寡妇一区二区三区| 国内精品久久久久久不卡影院| 国产福利电影在线播放| 99视频在线| 波多野结衣家庭教师在线| 欧美亚洲在线日韩| 国产美女被遭强高潮免费网站| 国产一区免费电影| 男人的天堂av社区在线| 久久综合一区二区三区| 日日操免费视频| 青青一区二区| 日韩av手机在线看| 99视频免费播放| 亚洲精品日韩综合观看成人91| 九色自拍论坛| 久9re热视频这里只有精品| 视频精品一区二区| 欧美挠脚心网站| 91精品美女| 亚洲成人中文字幕在线| 男女做爰猛烈刺激| 国内精品久久久| 欧美在线中文字幕高清的| 亚洲黄色在线免费观看| 99免费观看视频| 99久热在线精品视频| bt欧美亚洲午夜电影天堂| 国产欧美日韩一区二区三区在线| 欧美午夜寂寞| 日韩一区二区三区三四区视频在线观看| 日韩精品一二| 国产黄色一区二区三区| 黄色免费观看视频网站| 91综合国产| 国产99精品视频| 国产成人美女视频| а√天堂中文在线资源8| 久久综合九色综合97婷婷女人| wwwxxxx欧美| 午夜精品区一区二区三| 日本少妇bbwbbw精品| 97国产一区二区精品久久呦| 六十路在线观看| 国模精品一区二区三区| 性欧美18一19sex性欧美| 熟女人妻在线视频| 色综合中文综合网| 国产成人一区二区三区电影| 国产污在线观看| 麻豆av免费观看| 欧美视频在线不卡| 亚洲天堂av片| 自拍一区在线观看| 香港三级日本三级| 精品免费国产二区三区| 国产盗摄视频一区二区三区| 免费一级毛片在线观看| 亚洲优女在线| 9191在线观看| 澳门黄色一级片| 日韩精品综合在线| 狠狠人妻久久久久久综合| 欧美成人精品一区二区| av一级毛片| 国产婷婷一区二区| www.中文字幕久久久| 波多野结衣一区二区| 视频一区视频二区在线观看| 精品a在线观看| 五月天婷婷色综合| 国产伪娘ts一区| 国产传媒欧美日韩| 99视频在线观看地址| 免费看亚洲片| 日日狠狠久久偷偷综合色| 成av人片在线观看www| 波多野结衣在线观看一区二区三区| 免费av成人在线| 亚洲激情不卡|