最新C备课讲义教程课件ppt.ppt

最新C备课讲义教程课件ppt.ppt

ID:62067734

大小:598.00 KB

页数:61页

时间:2021-04-14

最新C备课讲义教程课件ppt.ppt_第1页
最新C备课讲义教程课件ppt.ppt_第2页
最新C备课讲义教程课件ppt.ppt_第3页
最新C备课讲义教程课件ppt.ppt_第4页
最新C备课讲义教程课件ppt.ppt_第5页
资源描述:

《最新C备课讲义教程课件ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C备课讲义教程虚函数多态性:调用同一个函数名,可以根据需要但实现不同的功能。多态性是面向对象的程序设计的关键技术。编译时的多态性(函数重载)运行时的多态性(虚函数)多态性运行时的多态性是指在程序执行之前,根据函数名和参数无法确定应该调用哪一个函数,必须在程序的执行过程中,根据具体的执行情况来动态地确定2可以将一个派生类对象的地址赋给基类的指针变量。基类对象派生类对象Baseb;Derived;Base*basep;basepbasep=&b;basepbasep=&d;basep只能引用从基类继承来的成员。xShow()xShow()yShow()basep->Show();basep->Sh

2、ow()基类指针派生类对象基类对象3classPoint{floatx,y;public:Point(){}Point(floati,floatj){x=i;y=j;}virtualfloatarea(void){return0.0;}};constfloatPi=3.14159;classCircle:publicPoint{//类Point的派生类floatradius;public:Circle(floatr){radius=r;}floatarea(void){returnPi*radius*radius;}};voidmain(void){Point*pp;//基类指针,可以将派生类

3、对象的地址赋给基类指针Circlec(5.4321);pp=&c;cout<area()<FuncName();一旦把基类的成员函数定义为虚函数,由基类所派生出来的所有派生类中,

4、该函数均保持虚函数的特性。在派生类中重新定义基类中的虚函数时,可以不用关键字virtual来修饰这个成员函数。8虚函数是用关键字virtual修饰的某基类中的protected或public成员函数。它可以在派生类中重新定义,以形成不同版本。只有在程序的执行过程中,依据指针具体指向哪个类对象,或依据引用哪个类对象,才能确定激活哪一个版本,实现动态聚束。9classA{protected:intx;public:A(){x=1000;}virtualvoidprint(){cout<<“x=”<

5、000;}voidprint(){cout<<“y=”<print();//调用类A的虚函数pa=&b;pa->print();//调用类B的虚函数pa=&c;pa->print();}//调用类C的虚函数x=1000y=2000z=3000x=100

6、0y=2000z=300010classBase{public:virtualintSet(inta,intb){.....}....};classDerive:publicBase{public:intSet(intx,inty){.....}.....};classBase{public:virtualintSet(inta,intb){.....}....};classDerive:publicBase{public:intSet(intx,inty=0){.....}.....};intSet(int,int)是虚函数两个Set()函数参数不一致,是重载,不是虚函数11关于虚函数,说明

7、以下几点:1、当在基类中把成员函数定义为虚函数后,在其派生类中定义的虚函数必须与基类中的虚函数同名,参数的类型、顺序、参数的个数必须一一对应,函数的返回的类型也相同。若函数名相同,但参数的个数不同或者参数的类型不同时,则属于函数的重载,而不是虚函数。若函数名不同,显然这是不同的成员函数。122、实现这种动态的多态性时,必须使用基类类型的指针变量或基类引用,并使该指针或引用指向不同的派生类对象,并通

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。