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

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

解析C++中多層派生時的構(gòu)造函數(shù)及一些特殊形式

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

這篇文章主要介紹了解析C++中多層派生時的構(gòu)造函數(shù)及一些特殊形式,特殊形式主要針對基類和子對象類型的構(gòu)造函數(shù)內(nèi)容,需要的朋友可以參考下

C++多層派生時的構(gòu)造函數(shù)

一個類不僅可以派生出一個派生類,派生類還可以繼續(xù)派生,形成派生的層次結(jié)構(gòu)。在上面敘述的基礎(chǔ)上,不難寫出在多級派生情況下派生類的構(gòu)造函數(shù)。

通過例下面的程序,讀者可以了解在多級派生情況下怎樣定義派生類的構(gòu)造函數(shù)。相信大家完全可以自己看懂這個程序。

[例] 多級派生情況下派生類的構(gòu)造函數(shù)。

 

 
  1. #include <iostream> 
  2. #include<string> 
  3. using namespace std; 
  4. class Student//聲明基類 
  5. public://公用部分 
  6. Student(int n, string nam)//基類構(gòu)造函數(shù) 
  7. num=n; 
  8. name=nam; 
  9. void display( )//輸出基類數(shù)據(jù)成員 
  10. cout<<"num:"<<num<<endl; 
  11. cout<<"name:"<<name<<endl; 
  12. protected://保護部分 
  13. int num;//基類有兩個數(shù)據(jù)成員 
  14. string name; 
  15. }; 
  16. class Student1: public Student//聲明公用派生類Student1 
  17. public
  18. Student1(int n,char nam[10],int a):Student(n,nam)//派生類構(gòu)造函數(shù) 
  19. {age=a;}//在此處只對派生類新增的數(shù)據(jù)成員初始化 
  20. void show( ) //輸出num,name和age 
  21. display( ); //輸出num和name 
  22. cout<<"age: "<<age<<endl; 
  23. private://派生類的私有數(shù)據(jù) 
  24. int age; //增加一個數(shù)據(jù)成員 
  25. }; 
  26. class Student2:public Student1 //聲明間接公用派生類Student2 
  27. public://下面是間接派生類構(gòu)造函數(shù) 
  28. Student2(int n, string nam,int a,int s):Student1(n,nam,a) {score=s;} 
  29. void show_all( ) //輸出全部數(shù)據(jù)成員 
  30. show( ); //輸出num和name 
  31. cout<<"score:"<<score<<endl; //輸出age 
  32. private
  33. int score; //增加一個數(shù)據(jù)成員 
  34. }; 
  35. int main( ) 
  36. Student2 stud(10010,"Li",17,89); 
  37. stud.show_all( ); //輸出學(xué)生的全部數(shù)據(jù) 
  38. return 0; 

運行時的輸出如下:

 

 
  1. num:10010 
  2. name:Li 
  3. age:17 
  4. score:89 

請注意基類和兩個派生類的構(gòu)造函數(shù)的寫法。

基類的構(gòu)造函數(shù)首部:

 

 
  1. Student(int n, string nam) 

派生類Student1的構(gòu)造函數(shù)首部:

 

 
  1. Student1(int n, string nam],int a):Student(n,nam) 

派生類Student2的構(gòu)造函數(shù)首部:

 

 
  1. Student2(int n, string nam,int a,int s):Student1(n,nam,a) 

注意不要寫成:

 

 
  1. Student2(int n, string nam,int a,int s):Student1(n,nam),student1(n, nam, a) 

不要列出每一層派生類的構(gòu)造函數(shù),只需寫出其上一層派生類(即它的直接基類)的構(gòu)造函數(shù)即可。在聲明Student2類對象時,調(diào)用Student2構(gòu)造函數(shù);在執(zhí)行Student2構(gòu)造函數(shù)時,先調(diào)用Student1構(gòu)造函數(shù);在執(zhí)行Student1構(gòu)造函數(shù)時,先調(diào)用基類Student構(gòu)造函數(shù)。初始化的順序是:

先初始化基類的數(shù)據(jù)成員num和name。

再初始化Student1的數(shù)據(jù)成員age。

最后再初始化Student2的數(shù)據(jù)成員score。

C++派生類構(gòu)造函數(shù)的特殊形式

在使用派生類構(gòu)造函數(shù)時,有以下特殊的形式。

1) 當(dāng)不需要對派生類新增的成員進行任何初始化操作時,派生類構(gòu)造函數(shù)的函數(shù)體可以為空,即構(gòu)造函數(shù)是空函數(shù),函數(shù)體為空時,派生類構(gòu)造函數(shù)的參數(shù)個數(shù)等于基類構(gòu)造函數(shù)和子對象的參數(shù)個數(shù)之和,派生類構(gòu)造函數(shù)的全部參數(shù)都傳遞給基類構(gòu)造函數(shù)和子對象,在調(diào)用派生類構(gòu)造函數(shù)時不對派生類的數(shù)據(jù)成員初始化。此派生類構(gòu)造函數(shù)的作用只是為了將參數(shù)傳遞給基類構(gòu)造函數(shù)和子對象,并在執(zhí)行派生類構(gòu)造函數(shù)時調(diào)用基類構(gòu)造函數(shù)和子對象構(gòu)造函數(shù)。在實際工作中常見這種用法。

2) 如果在基類中沒有定義構(gòu)造函數(shù),或定義了沒有參數(shù)的構(gòu)造函數(shù),那么在定義派生類構(gòu)造函數(shù)時可不寫基類構(gòu)造函數(shù)。因為此時派生類構(gòu)造函數(shù)沒有向基類構(gòu)造函數(shù)傳遞參數(shù)的任務(wù)。調(diào)用派生類構(gòu)造函數(shù)時系統(tǒng)會自動首先調(diào)用基類的默認構(gòu)造函數(shù)。

如果在基類和子對象類型的聲明中都沒有定義帶參數(shù)的構(gòu)造函數(shù),而且也不需對派生類自己的數(shù)據(jù)成員初始化,則可以不必顯式地定義派生類構(gòu)造函數(shù)。因為此時派生類構(gòu)造函數(shù)既沒有向基類構(gòu)造函數(shù)和子對象構(gòu)造函數(shù)傳遞參數(shù)的任務(wù),也沒有對派生類數(shù)據(jù)成員初始化的任務(wù)。

在建立派生類對象時,系統(tǒng)會自動調(diào)用系統(tǒng)提供的派生類的默認構(gòu)造函數(shù),并在執(zhí)行派生類默認構(gòu)造函數(shù)的過程中,調(diào)用基類的默認構(gòu)造函數(shù)和子對象類型默認構(gòu)造函數(shù)。

如果在基類或子對象類型的聲明中定義了帶參數(shù)的構(gòu)造函數(shù),那么就必須顯式地定義派生類構(gòu)造函數(shù),并在派生類構(gòu)造函數(shù)中寫出基類或子對象類型的構(gòu)造函數(shù)及其參數(shù)表。

如果在基類中既定義無參的構(gòu)造函數(shù),又定義了有參的構(gòu)造函數(shù)(構(gòu)造函數(shù)重載),則在定義派生類構(gòu)造函數(shù)時,既可以包含基類構(gòu)造函數(shù)及其參數(shù),也可以不包含基類構(gòu)造函數(shù)。

在調(diào)用派生類構(gòu)造函數(shù)時,根據(jù)構(gòu)造函數(shù)的內(nèi)容決定調(diào)用基類的有參的構(gòu)造函數(shù)還是無參的構(gòu)造函數(shù)。編程者可以根據(jù)派生類的需要決定采用哪一種方式。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美日韩一区二区电影| 亚洲国内精品| 国产一区二区三区在线免费| 99精品国产热久久91蜜凸| 三级在线电影| 亚洲热线99精品视频| 国产成人精品av久久| 欧美性色欧美a在线播放| 久久久成人av毛片免费观看| 黄色片在线观看免费| 在线日韩成人| 欧美日韩一二三| 午夜性色福利视频| 成人性生交大片免费观看嘿嘿视频| 黄色片免费大全| 妖精视频一区二区三区免费观看| 一区二区三区在线观看国产| 成 人片 黄 色 大 片| 美洲精品一卡2卡三卡4卡四卡| 日本三级亚洲精品| 在线观看亚洲精品视频| 天天操夜夜摸| www.成人三级视频| 国产精品区在线观看| 亚洲国产日韩欧美综合久久| 精品孕妇一区二区三区| 精品毛片在线观看| 午夜日韩在线| 中文在线а√天堂| 欧美日韩1080p| www.三级.com| 欧美日韩91| 国严精品久久久久久亚洲影视| 欧美精品vⅰdeose4hd| 亚洲色图在线看| 日本一区午夜艳熟免费| 超碰超碰97| 日韩av电影免费观看高清完整版| 国产99久久精品一区二区永久免费| 麻豆精品视频在线观看视频| 91亚色免费| 国产有码在线一区二区视频| 按摩亚洲人久久| а√天堂8资源在线官网| 一区二区国产在线观看| 菠萝蜜视频在线观看www入口| 丁香亚洲综合激情啪啪综合| 国产免播放器视频| 7777精品伊人久久久大香线蕉超级流畅| 国产精品久久久久aaaa| 天堂在线视频中文网| 狠狠色噜噜狠狠狠狠色吗综合| 久久久久久久久久久免费| 午夜精品久久久久久久无码| 97超级碰碰碰久久久| 国产亚洲色婷婷久久| 粉嫩91精品久久久久久久99蜜桃| 精品欧美激情在线观看| 日韩精品中文字幕在线| 亚洲一区二区三区四区电影| 国产亚洲第一伦理第一区| 国产精品第一页在线| 免费日本黄色网址| 日本成人手机在线| 欧美日韩一二三四五区| 黄色免费观看网站| 亚洲色欲色欲www在线观看| 一区二区三区免费看视频| 亚洲欧美一区二区三区极速播放| 久久噜噜色综合一区二区| 亚洲国产精品久久人人爱潘金莲| 日本丰满少妇裸体自慰| 欧美精品一区在线播放| 亚洲精品98久久久久久中文字幕| 在线播放国产一区中文字幕剧情欧美| 亚洲精选av在线| 在线视频一区二区三区在线播放| 国产精品巨作av| 中国女人内谢25xxxx免费视频| 中文字幕 国产精品| 国产成人精品av在线观| 中国一级大黄大黄大色毛片| 国产精品成人a在线观看| 9191国语精品高清在线| 久久久一区二区三区| 精品无人区一区二区三区| 色哟哟在线观看视频| 中文字幕不卡免费视频| 丁香激情五月婷婷| 99亚洲伊人久久精品影院红桃| 99riav1国产精品视频| a级大片在线观看| 欧美大胆a级| www.黄色网址.com| 色综合久久精品亚洲国产| 加勒比在线一区二区三区观看| 噼里啪啦国语在线观看免费版高清版| 99re8这里有精品热视频8在线| 正在播放日韩欧美一页| 欧美日韩国产探花| lutube成人福利在线观看| 伊人色综合久久久天天蜜桃| 成视频在线免费观看| 色欲狠狠躁天天躁无码中文字幕| 美女久久久久| 国产一区影院| 在线免费观看视频黄| 性欧美xxxx免费岛国不卡电影| 亚洲美女综合网| 日韩精品一区二区三区色欲av| 色成年激情久久综合| 欧美h片在线观看| 亚洲蜜桃视频| 孩娇小videos精品| 久久99精品久久久久久久久久| 国产精品视频你懂的| 国产一级中文字幕| 亚洲一二三四久久| 久久精品国产www456c0m| 欧美日韩国产成人| 欧美成人69| 免费在线你懂的| 欧美成人一品| 中文字幕人妻无码系列第三区| 国产不卡精品视男人的天堂| av在线免费网址| 天堂视频在线免费观看| 精品国产亚洲一区二区三区| 亚洲高清视频在线观看| 欧美人与禽zoz0善交| 国外成人性视频| 91九色蝌蚪porny| 老司机午夜av| 嫩草影院永久一二三入口| 国产精品免费视频一区一| 欧美精品videos另类日本| 成熟人妻av无码专区| 蜜桃av噜噜一区| 欧美乱妇高清无乱码免费| 91女主播在线观看| 精品无码久久久久久久久| 97超超碰碰| 欧美精品99久久| 444亚洲人体| 成人免费观看av| 国产精品吊钟奶在线| 亚洲欧洲国产日韩精品| 精品樱空桃一区二区三区| 国产情侣小视频| 男女高潮又爽又黄又无遮挡| 中国特级黄色大片| 亚洲成a人片综合在线| 成人免费看黄网站| 亚洲综合无码一区二区| 久久品道一品道久久精品| aⅴ在线视频男人的天堂| 国产精品自拍网| 欧美特级www| 日韩在线短视频| 欧美成人有码| 暖暖视频在线免费观看| www.天天色| 亚洲午夜精品久久久久久久久| palipali轻量版永久网页入口| 一二三四国产精品| 日韩精品第一| 91精品国产成人| 亚洲不卡视频在线| 亚洲精品91| 日本高清不卡aⅴ免费网站| 欧美一级欧美一级在线播放| 国产精品亚洲综合久久| av在线播放av| 日韩欧美高清在线视频| 国产日韩中文字幕| 131美女爱做视频| 国产黑丝一区二区| 午夜裸体女人视频网站在线观看| 国产偷窥女洗浴在线观看亚洲| 性色一区二区| 国产精品jizz在线观看美国| 久久精品视频18| 色天天久久综合婷婷女18| 精品91自产拍在线观看一区| 秋霞午夜鲁丝一区二区老狼| 潘金莲一级淫片aaaaaa播放| 亚洲午夜精品久久久久久久久| 天天影视欧美综合在线观看| 久久综合九九| 久久亚洲国产成人精品无码区| 亚洲欧美在线aaa| 在线视频中文字幕久| 国产网址在线观看| 亚洲桃色在线一区| 欧美日韩国产在线观看网站| av在线之家电影网站| 一区二区三区无码高清视频| 一区二区蜜桃| 黄色小视频免费| 日本精品在线免费观看| 欧美日韩国产免费一区二区三区| 亚洲国产精品免费视频| 日韩美脚连裤袜丝袜在线| 久久久xxx| 亚洲狼人综合| 欧美日韩国产bt| 国产日韩中文在线中文字幕| 欧美一级视频免费| 欧美精品九九99久久| www在线视频观看| 日本a一级在线免费播放| 国产在线免费看| 好看的中文字幕在线播放| 成人国产一区二区三区精品麻豆| 啦啦啦在线视频免费观看高清中文| 亚洲欧美一区二区激情| 99精品国产99久久久久久福利| 欧美高清视频在线| 欧美在线二区| 亚洲一区美女视频在线观看免费| www.4hu95.com四虎| 青青操视频在线观看| 国精产品一区一区| 免费男同深夜夜行网站| 中文字幕第315页| 激情五月综合婷婷| 两根大肉大捧一进一出好爽视频| 国产激情91久久精品导航| 奇米影视首页 狠狠色丁香婷婷久久综合| 久久99免费视频| 国产色片在线观看| 欧美日韩黄色一级片| 亚洲手机成人高清视频| 欧美另类一区二区| 91精品国产乱码在线观看| 国产精品久久久久久久久免费樱桃| 国产高清自拍视频在线观看| 国产日韩欧美三区| 成人欧美一区二区三区黑人麻豆| 蜜桃视频一区二区在线观看| 美女黄色在线网站大全| a级免费在线观看| 尤物视频在线免费观看| 福利在线播放| 国产成人精品免费网站| 日本伊人精品一区二区三区介绍| 在线看日韩精品电影| 蜜桃在线一区二区三区| 深田咏美在线x99av| 久久aimee| 日韩av中文字幕在线播放| 99久久夜色精品国产亚洲1000部| 成人免费精品视频| 丰满熟妇乱又伦| 亚洲系列第一页| 亚洲精选中文字幕| 高清国产福利在线观看| 任我爽在线视频精品一| 欧美另类极品videosbest视频| 午夜精品一区二区三区视频免费看| 欧美大片91| 欧美精品一区二区三区免费| 中文字幕在线网址| 国内精品模特av私拍在线观看| 91精品国产91久久久久游泳池| 初尝黑人巨炮波多野结衣电影| 国内在线观看一区二区三区| 亚洲成人免费在线观看| 一区二区三区午夜视频| 国产在线视频卡一卡二| 成人精品3d动漫| 91精品国产毛片武则天| 在线 丝袜 欧美 日韩 制服| 成人做爰高清视频网站| 国产精品三级在线观看| 青春草国产成人精品久久| 91欧洲在线视精品在亚洲| 美国精品一区二区| 亚洲第一福利视频在线| 日韩污视频在线观看| 91亚洲va在线va天堂va国| 国产精品欧美亚洲777777| 一区二区久久| 国产资源在线播放| 中文乱码字幕高清一区二区| 成人福利电影精品一区二区在线观看| 制服丝袜在线一区| 国产高清一区| 久久精品在线视频| 久久视频在线视频| 欧美成人精品欧美一级| 日韩专区av| 欧美xxxx三人交性视频| 国产日韩欧美自拍| 97在线观看视频免费| 欧美午夜精品久久久久久超碰| 1024成人网| 国产无遮挡aaa片爽爽| 91精品国产福利| 国产精品美女主播| 亚洲国产一区二区三区四区| 亚洲精品suv精品一区二区| 日本熟女毛茸茸| 国产欧美日韩精品综合| 嫩草香蕉在线91一二三区| 免费一级淫片| 青青草华人在线视频| 肥女人的一级毛片| 日本黄色网址大全| 99久久免费国产精精品| 欧美熟妇精品一区二区蜜桃视频| 日韩精品一区二区三区色欲av| 亚洲欧美精品一区| 91成人免费观看网站| 日韩欧美伦理电影院| 国产伦精品一区二区三区四区视频_| 国产精品亚洲第一区在线暖暖韩国| 精品丝袜在线| c#hpsocket| 日本一区二区三区四区五区| 亚洲国产成人精品综合99| 国产内射老熟女aaaa∵| 亚洲精品久久久久国产| 9久re热视频在线精品| 亚洲精品福利视频网站| 国产日韩欧美一区二区三区乱码| 精品一区二区国产| 欧美亚洲国产另类|