下载此文档

cha6多态性.ppt


文档分类:医学/心理学 | 页数:约34页 举报非法文档有奖
1/34
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/34 下载此文档
文档列表 文档介绍
cha6多态性.pptC++++程序设计中,多态性是指具有不同函数体的函数可用同一个函数名,这样就可用一个函数名调用不同实现内容的函数。其实,以前学过的函数重载就是多态现象函数重载是编译器根据函数调用时的实参确定函数调用与函数体的匹配关系,。intMax(inta,intb) //函数Max()重载版本1{returna>b?a:b;}intMax(inta,intb,intc) //函数Max()重载版本2{ intm=a>b?a:b; //m为a,b的最大值 m=m>c?m:c; //m,c的最大值为a,b,c的最大值 returnm; //返回m}doubleMax(doublea,doubleb) //函数Max()重载版本3{returna>b?a:b;}doubleMax(doublea,doubleb,doublec) //函数Max()重载版本4{ doublem=a>b?a:b; //m为a,b的最大值 m=m>c?m:c; //m,c的最大值为a,b,c的最大值 returnm; //返回m}……。……intmain(void) //主函数main(void){ inta=5,b=8,c=16; //定义整型变量 doublex=,y=,z=;//定义双精度实型变量 cout<<a<<","<<b<<"的最大值:"<<Max(a,b)<<endl; //调用Max()实现版本1 cout<<a<<","<<b<<","<<c<<"的最大值:" <<Max(a,b,c)<<endl;//调用Max()实现版本2 cout<<x<<","<<y<<"的最大值:"<<Max(x,y)<<endl; //调用Max()实现版本3 cout<<x<<","<<y<<","<<z<<"的最大值:" <<Max(x,y,z)<<endl;//调用Max()实现版本4 system("PAUSE"); //输出系统提示并返回操作系统 return0; //返回值0,返回操作系统}程序运行时屏幕输出如下:5,8的最大值:85,8,16的最大值:,:,,:...,也就是定义两个函数名相同、参数个数和类型以及返回值类型都相同的函数的,否则在编译时将会出现函数重定义错误在类继承时,可以在派生类中重定义基类函数原型相同的函数,也就是在基类与派生类中可以同时定义函数名相同,。//声明基类AclassA{private://私有成员 inta; //数据成员public://公有函数 A(intx):a(x){} //构造函数 voidShow()const{cout<<"A::a="<<a<<endl;} //输出a};//声明派生类BclassB:publicA{private://私有成员 intb; //数据成员public://公有函数 B(intx,inty):A(x),b(y){} //构造函数 voidShow()const{cout<<"B::b="<<b<<endl;} //输出b};……。……//lassC:publicA{private://私有成员 intc; //数据成员public://公有函数 C(intx,inty):A(x),c(y){} //构造函数 voidShow()const{cout<<"C::c="<<c<<endl;} //输出c};……。……intmain() //主函数main(){ A*p; //定义基类指针变量p Aa(1); //定义基类A的对象a Bb(1,6); //(1,8); //定义派生类C的对象c p=&a; //p指向基类A的对象a p->Show(); //输出信息 p=&b; //p指向派生类B的对象b p->Show(); //输出信息 p=&c; //p指向派生类C的对象c p->Show(); //输出信息 system("PAUSE"); //输出系统提示信息 return0; //返回值0,返回操作系统}程序运行时屏幕输出如下:A::a=1A::a=1A::a=1请按任意键继续...基类A的指针变量p分别指向基类A的对象a,派生类B的对象b和派生类C的对象c,p->Show()都调

cha6多态性 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数34
  • 收藏数0 收藏
  • 顶次数0
  • 上传人dyx110
  • 文件大小85 KB
  • 时间2020-04-17