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

首頁(yè) > 編程 > C++ > 正文

實(shí)例講解C++編程中的虛函數(shù)與虛基類

2020-05-23 14:08:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了C++編程中的虛函數(shù)與虛基類的實(shí)例講解,虛函數(shù)與虛基類的使用是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
 

虛函數(shù)

#include "stdafx.h"#include <iostream>using namespace std;class B0//基類B0聲明{public: void display(){cout<<"B0::display()"<<endl;}//公有成員函數(shù)};class B1: public B0//公有派生類B1聲明{public: void display(){cout<<"B1::display()"<<endl;}//公有成員函數(shù)};class D1: public B1//公有派生類D1聲明{public: void display(){cout<<"D1::display()"<<endl;}//公有成員函數(shù)};void fun(B0 *ptr)//普通函數(shù){//參數(shù)為指向基類對(duì)象的指針 ptr->display();//"對(duì)象指針->成員名"}void main()//主函數(shù){ B0 b0;//聲明基類B0類對(duì)象 B1 b1;//聲明B1類對(duì)象 D1 d1;//聲明D1類對(duì)象 B0 *p;//聲明B0類指針 p=&b0;//B0類指針指向B0類對(duì)象, fun(p); p=&b1;//B0類指針指向B1類對(duì)象,指向基類的指針也可以指向派生類。 fun(p); p=&d1;//B0類指針指向D1類對(duì)象,指向基類的指針也可以指向派生類。 fun(p);}

輸出結(jié)果:

B0::display()B0::display()B0::display()Press any key to continue

類型兼容規(guī)則舉例

#include "stdafx.h"#include <iostream>using namespace std;class B0//基類B0聲明{public: virtual void display(){cout<<"B0::display()"<<endl;}//公有成員函數(shù)};class B1: public B0//公有派生類B1聲明{public: void display(){cout<<"B1::display()"<<endl;}//公有成員函數(shù)};class D1: public B1//公有派生類D1聲明{public: void display(){cout<<"D1::display()"<<endl;}//公有成員函數(shù)};void fun(B0 *ptr)//普通函數(shù){//參數(shù)為指向基類對(duì)象的指針 ptr->display();//"對(duì)象指針->成員名"}void main()//主函數(shù){ B0 b0;//聲明基類B0類對(duì)象 B1 b1;//聲明B1類對(duì)象 D1 d1;//聲明D1類對(duì)象 B0 *p;//聲明B0類指針 p=&b0;//B0類指針指向B0類對(duì)象, fun(p); p=&b1;//B0類指針指向B1類對(duì)象,指向基類的指針也可以指向派生類。 fun(p); p=&d1;//B0類指針指向D1類對(duì)象,指向基類的指針也可以指向派生類。 fun(p);}

輸出結(jié)果:

B0::display()B1::display()D1::display()Press any key to continue 

虛函數(shù)是為了實(shí)現(xiàn)某種功能而假設(shè)的函數(shù),虛函數(shù)只能是類中的一個(gè)成員函數(shù),不能是靜態(tài)成員,使用關(guān)鍵字virtual用于在類中說(shuō)明該函數(shù)是虛函數(shù)。 虛函數(shù)更是為了實(shí)現(xiàn)面向?qū)ο蟮亩鄳B(tài)性而產(chǎn)生的,使用虛函數(shù)和多態(tài)

性能夠簡(jiǎn)化代碼長(zhǎng)度,支持更簡(jiǎn)單的順序,便于程序的調(diào)試,維護(hù)。
虛函數(shù)的定義方法:

class A{  public:    virtual void fun();  //define virtual function};void A::fun() { ... }      //member function describe

上面定義了一個(gè)虛函數(shù),然后在類體外進(jìn)行了函數(shù)的具體描述。

在類的繼承當(dāng)中,當(dāng)基類中聲明了某個(gè)虛函數(shù),即使在派生類中沒(méi)有聲明虛函數(shù),那么在以后的繼承結(jié)構(gòu)中都是

虛函數(shù),當(dāng)然如果有多重繼承,在每個(gè)派生類中還是推薦對(duì)每個(gè)虛函數(shù)進(jìn)行顯式的聲明。

為了說(shuō)明虛函數(shù)在派生類中的應(yīng)用,我寫段代碼作例子:

#include "stdio"class cbase{public: virtual void vfoo() { printf("vfoo from cbase/n"); }; void foo() { printf("foo from cbase/n"); }};class cderivd : public cbase{public: virtual void vfoo() { printf("vfoo from cderivd/n"); }; void foo() { printf("foo from cderivd/n"); };};int main(int argc, char* argv[]){ cbase* pbase = new cderivd(); pbase->foo(); //非虛函數(shù),根據(jù)指針類型決定調(diào)用哪個(gè)foo,本例指針類型為cbase,所以調(diào)用的是cbase::foo() pbase->vfoo(); //虛函數(shù),調(diào)用的是派生類的vfoo delete pbase; cderivd* pd = new cderivd(); pd->foo();    //非虛函數(shù),本例指針類型為cderivd*,所以調(diào)用cderivd::foo(); pd->vfoo(); delete pd; cderivd d; d.foo(); d.vfoo(); ((cbase)d).foo(); //將d強(qiáng)行切割為cbase,這時(shí)調(diào)用的無(wú)論是foo還是vfoo都將是base的 ((cbase)d).vfoo(); getchar(); return 0;}

程序在DevCPP下編譯通過(guò),輸出:

foo from cbasevfoo from cderivdfoo from cderivdvfoo from cderivdfoo from cderivdvfoo from cderivdfoo from cbasevfoo from cbase

虛基類 

#include "stdafx.h"#include<iostream>#include<string>using namespace std;class person{//聲明基類 protected: int age; char sex; string name;public: person(int a,char s,string nam){ age=a; sex=s; name=nam; }};class teacher:virtual public person{protected: string title;public: teacher(int a,char s,string nam,string t):person(a,s,nam){ }};class student:virtual public person{protected: float score;public: student(int a,char s,string nam,float sc):person(a,s,nam){ score=sc; }};class graduate:public teacher,public student{protected: float wdge;public: graduate(int a,char s,string nam,string t,float sc,float wd):person(a,s,nam),teacher(a,s,nam,t),student(a,s,nam,sc){ wdge=wd; } void show(){ cout<<name<<endl; cout<<age<<endl; cout<<sex<<endl; cout<<title<<endl; cout<<score<<endl; cout<<wdge<<endl; }};int main(){ graduate gr(22,'f',"k;asdjf;daf","klsdaf",89.5,79.5); gr.show(); return 0;}

輸出結(jié)果:

k;asdjf;daf22fklsdaf89.579.5Press any key to continue 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
天堂一区二区在线| 国产精品免费久久| 成年人av网站| 国产亚洲精品激情久久| 国产成人精品日本亚洲| 国产精品老女人精品视频| 伊人精品一区二区三区| 免费av网站在线观看| 日韩精品午夜| 亚洲天堂视频网站| 国产精品久久久久久五月尺| 一区二区三区国产在线| 亚洲成人三级在线| 91午夜视频在线观看| av漫画网站| 成人午夜视频在线| 四虎影视精品成人| 小泽玛利亚av在线| 亚洲在线观看视频网站| 四虎影视最新网站入口在线观看| 欧美一级欧美一级| 白浆爆出在线观看| 亚洲欧美久久久久| 欧美大交乱xxxxbbbb| 热久久99这里有精品| 男人通一通女人的下水道| 成年人羞羞的网站| 亚洲日本丝袜连裤袜办公室| 国产黄色免费观看| 国产乡下妇女做爰| 亚洲精品激情视频| 欧美电影《轻佻寡妇》| a级免费在线观看| 激情小说欧美色图| 黄色片网址在线观看| 极品国产人妖chinesets亚洲人妖| 色噜噜一区二区三区| 国产一区二区久久精品| 灌醉mj刚成年的大学平面模特| 韩国欧美国产一区| 午夜免费福利小电影| 久久国产三级| 亚洲精品在线观看www| 国产网站欧美日韩免费精品在线观看| 国产精品一区二区三| 久久精品亚洲欧美日韩精品中文字幕| 婷婷激情综合| 精品免费国产一区二区三区四区| chinese叫床对白videos| 91精品一久久香蕉国产线看观看| 国产成人手机高清在线观看网站| 久久国产精品99久久久久久丝袜| 欧美第一页在线观看| 在线免费观看av网| 国产爆乳无码一区二区麻豆| 国产在线观看精品一区| 日韩一区二区在线视频| 国产草草影院ccyycom| 蜜桃精品一区二区三区| 网站一区二区三区| xfplay资源站夜色先锋5566| 成人在线视频免费| 欧美夫妻性生活xx| 伊人情人综合网| 久久99精品久久久久久久久久| 欧美性受xxxxxx黑人xyx性爽| 欧美精选午夜久久久乱码6080| 九九热国产精品视频| 粉嫩精品一区二区三区在线观看| 网曝91综合精品门事件在线| 国产麻豆欧美日韩一区| 亚洲免费av观看| 夜夜操夜夜操| 免费视频91蜜桃| 四虎永久在线精品无码视频| 在线观看黄网站| 欧美大肥婆大肥bbbbb| 中文精品一区二区三区| 中文字幕人妻一区二区三区| 波多野结衣电影在线播放| 77777少妇光屁股久久一区| 中文字幕精品亚洲| 午夜日韩激情| 亚洲乱码国产乱码精品精98午夜| 精品国产免费一区二区三区四区| 欧美色窝79yyyycom| 久久精品国产亚洲精品| 中日韩免费毛片| 欧美精品一二三| 在线观看亚洲一区二区| 日韩经典一区二区三区| 91综合久久| 国内精品久久久久久久影视蜜臀| 成人网男人的天堂| 久久的色偷偷| 天天弄天天操| 日韩一区二区三区视频| 老司机成人在线| 99久久精品国产精品久久| 国产911网站| 九九视频免费看| 国产精品igao| 精品自拍视频| 91久久国产婷婷一区二区| 久久美女性网| 久久久综合亚洲91久久98| 性色av蜜臀av浪潮av老女人| 日本成人网址| 欧美www在线| 欧美日韩一区二区在线播放| 久久精品国产成人av| 国产精品一级黄片| 69国产精品视频免费观看| 免费观看久久久4p| 男人舔女人下部高潮全视频| 午夜精彩国产免费不卡不顿大片| 欧美色图一区二区三区| 国产精品最新乱视频二区| 国产99久久久国产精品成人免费| 欧美视频一二区| 九九九九免费视频| 精品国产精品网麻豆系列| 先锋成人av| 免费黄色一级大片| 日本xxxxxxx免费视频| 久久婷婷综合中文字幕| 欧美6699在线视频免费| 亚洲欧洲成人av每日更新| 国产草草影院ccyycom| 国产日韩欧美麻豆| 精品无线一线二线三线| 国产精品免费在线播放| 日韩欧美亚洲一二三区| 日本孕妇大胆孕交无码| 亚洲区欧洲区| 亚洲爱情岛论坛永久| 亚洲欧洲无码一区二区三区| 欧美一区深夜视频| 国产在线观看不卡一区二区三区| 91精品国产欧美日韩| 国产色综合网| 1卡2卡3卡精品视频| 色8久久精品久久久久久蜜| 久久噜噜噜精品国产亚洲综合| 日本24小时在线高清视频| 北京富婆泄欲对白| 成人在线观看网站| 糖心vlog在线免费观看| 亚洲人成在线影院| 玛丽玛丽电影原版免费观看1977| av人人综合网| 亚洲影院免费| 成年人在线观看网站| 福利片在线观看| 国产成人精选| 日韩中文字幕一区二区| 四季av一区二区凹凸精品| 久久国产精品久久久久久久久久| 色爱综合网站| 91女主播在线观看| 国产精品一区二区av| 91黄色国产视频| 华人av在线| 亚洲欧美变态国产另类| 国产美女视频91| 美女免费视频黄| 亚洲图片久久| 成人性生交视频免费观看| 99精品欧美| 日韩午夜电影在线观看| 中文字幕一区二区三区人妻四季| 中国女人内谢25xxxxx| 日本在线观看| 久久偷看各类wc女厕嘘嘘偷窃| xxxxx91麻豆| 亚洲最新av网站| jizzjizz4| 在线观看黄色网| 狠狠躁夜夜躁人人爽天天天天97| 久草免费福利在线| 日本精品一区二区三区高清| 在线观看岛国片| 日日骚一区二区三区| 日本视频一区二区在线观看| 波多野结衣视频在线播放| 精品无人区麻豆乱码久久久| 69xxx免费视频| av一区二区高清| 中文字幕乱在线伦视频中文字幕乱码在线| 欧美有码视频| 欧美性大战xxxxx久久久| 成人免费毛片嘿嘿连载视频…| 免费偷拍视频网站| 国产精品自拍第一页| 一区二区三区的久久的视频| 免费在线观看日韩| 777奇米四色成人影色区| 97午夜影院| 好吊色欧美一区二区三区视频| 国产区精品在线| 亚洲福利影视| 中文成人激情娱乐网| 日韩成人在线视频网站| 亚洲欧美日韩第一页| 国产精品一级伦理| 激情内射人妻1区2区3区| 欧美午夜在线视频| 国产精品18久久久久久麻辣| 亚洲视频专区在线| 伊人色综合久久天天人手人婷| 欧美激情综合网| 无圣光视频在线观看| 不卡在线一区二区| 欧美在线视频网站| 国产伦精品一区二区三| 欧美电影影音先锋| 日韩av男人的天堂| 亚洲色图影院| 日本中文字幕一区二区视频| 久久久久久久久久久久久久久99| 久久亚洲av午夜福利精品一区| 亚洲精品成人久久久| 成人日日夜夜| 欧美精品久久久久久久多人混战| 日韩av在线播| rebdb初裸写真在线观看| 亚洲激情在线视频| 日韩精品丝袜美腿| 男人网站在线观看| 日本a级不卡| 日日噜噜噜夜夜爽爽狠狠视频| 激情五月激情综合| 久久久久国产免费免费| 男人操女人免费软件| 国产乱子伦精品视频| 欧美一级在线看| 国产精品情侣呻吟对白视频| 五十路六十路七十路熟婆| 性欧美超级视频| 欧美日韩亚洲综合一区二区三区| 欧美日韩国产中文| 亚洲一区中文在线| 午夜欧美一区二区三区在线播放| 国内精品久久久久久99蜜桃| 超清福利视频| 欧美a在线视频| 国产亚洲高清视频| 国产精品久久久久毛片软件| av黄色免费在线观看| 澳门成人av网| 日韩av中文字幕一区二区| 国自产精品手机在线观看视频| 久久久久麻豆v国产| 在线视频你懂得一区| 日韩精品――色哟哟| h短视频大全在线观看| 国产精品一站二站| 欧美色图片你懂的| 国产精品久久久久久久| 又色又爽又高潮免费视频国产| 国产一区在线精品| 婷婷婷国产在线视频| 国产亚洲欧洲在线| 亚洲av成人无码久久精品| 国产黄在线观看免费观看不卡| 国产精品美女高潮无套| 成人黄色短视频| 欧美国产日韩综合| 亚洲第一精品自拍| 亚洲欧美日韩综合一区| 91亚洲精品久久久蜜桃网站| www.成人av| 中文字幕日韩一区| 亚洲美女视频在线| √天堂中文www官网| 欧美人乱大交xxxxx| www一区二区www免费| 亚洲日本网址| 国产精品一级| 日本亚洲不卡| 欧美华人在线视频| 97在线公开视频| 欧美中文字幕一区二区三区| 欧美黑人巨大videos精品| 诱受h嗯啊巨肉高潮| 久久精品xxx| 欧美日韩国产一级| 国产精品一级无码| va中文字幕| 久久精品国产68国产精品亚洲| 国产精品久在线观看| av欧美精品.com| av动漫在线播放| 在线高清欧美| 国产91精品一区二区绿帽| 香蕉视频免费在线看| 九色视频成人自拍| 凹凸国产熟女精品视频| 成人午夜毛片| 欧美国产日韩精品免费观看| 亚洲黄色av一区| 久久69av| 99伊人久久| 欧美最猛黑人猛交69| 亚洲精品www.| 成+人+亚洲+综合天堂| 中文字幕一区不卡| av中文字幕在线免费观看| 中文字幕日韩一区| 狠狠操视频网| 中文字幕日本一区| 久久久久亚洲av片无码| 91tv亚洲精品香蕉国产一区7ujn| 亚洲成色777777女色窝| 一区二区三区视频在线免费观看| 中文字幕这里只有精品| 寂寞少妇一区二区三区| 欧美精品一区二区久久婷婷| 国产精品免费99久久久| 51精品免费网站| 国产乱妇无码大片在线观看| 欧美日韩激情四射| 日韩综合一区| 青青草久久爱| 天天摸夜夜添狠狠添婷婷| 1769免费视频在线观看| 波多野结衣午夜| 在线激情小视频|