
#include <stdioh> void main() { int a,b,c,d,e,f; float h,i,j,k,l,g; long o,p,q,r,s,z; scanf("%d %d %d %d %d",&a,&b,&c,&d,&e); scanf("%f %f %f %f %f",&h,&i,&j,&k,&l); scanf("%ld %ld %ld %ld %ld",&o,&p,&q,&r,&s); if(a>b) { f=a; } else f=b; if(c>f) { f=c; } if(d>f) { f=d; } if(e>f) { f=e; } printf("%d\n",f); if(h>i) { g=h; } else g=i; if(j>g) { g=j; } if(k>g) { g=k; } if(l>g) { g=l; } printf("%2f\n",g); if(o>p) { z=o; } else z=p; if(q>z) { z=q; } if(r>z) { z=r; } if(s>z) { z=s; } printf("%ld\n",z); } 重载我还真不知道
你的这种重载方式不对,如果你仔细去看看重载的定义,你就会发现只是类型不同的函数参数重载是不好实现的,编译器不能够识别你调用的是哪一个函数。函数的重载可以传递的参数个数不一致,函数返回值不一致,但是对于有相同参数,参数类型不同这种重载一般是不能实现的。
C语言中没有类的概念,C++中才有类,有类成员变量,成员函数,对象,以及重载,继承,派生的概念;
函数的重载是指在同一个类中具有相同的函数名,但是可能函数的返回值类型,或者形参个数,或者形参类型不同;
派生是指基类跟子类的关系:例如class
A:public
B;类A共有继承B;
呵呵,这些东西需要你慢慢看,注意重载
跟覆盖的区别以及与虚函数之间的关系,等等
至于类模板,就是你定义一个类,而不指定数据类型,关键字template,等到后面的开发中你可以实际根据需要实例化为你想要的
类型,例如int
,char,struct
等等
sum(1,2)可以是调用sum(int,int)也可以是调用sum(float,float)
因为传递进去的1和2,可以被编译器转换成sum(10,20),编译器不确定你要调用哪个
同理sum(12,24)也可能被编译器转换成sum(1,2),也不能确定你要调用哪个
sum(13,24)改成sum((float)13,(float)24)就可以了,如果写成sum((float)13,24)或者sum(13,(float)24)也可以通过编译,但是可能会有警告
用显示的类型转换来清楚地告诉编译器要调用哪个
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)