C++++程序设计中,多态性是指具有不同函数体的函数可用同一个函数名,这样就可用一个函数名调用不同实现内容的函数。其实,以前学过的函数重载就是多态现象函数重载是编译器根据函数调用时的实参确定函数调用与函数体的匹配关系,。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};……翻架络芳
cha6多态性 来自淘豆网www.taodocs.com转载请标明出处.