首页 > 其他 > 详细

sdut 面向对象程序设计上机练习二(函数模板)

时间:2014-09-02 21:27:25      阅读:359      评论:0      收藏:0      [点我收藏+]

面向对象程序设计上机练习二(函数模板)

Time Limit: 1000MS Memory limit: 65536K

题目描述

利用数组和函数模板求5个数最大值(分别考虑整数、单精度、长整数的情况)。

输入

分别输入5个int型整数、5个float 型实数、5个long型正整数。

输出

分别输出5个int型整数的最大值、5个float 型实数的最大值、5个long型正整数的最大值。

示例输入

11 22 666 44 55
11.11 22.22 33.33 888.88 55.55
1234567 222222 333333 444444 555555

示例输出

666
888.88
1234567


同一道题,运用函数模板就比运用函数重载要省事很多

而且代码的可读性和简洁性都有了。。

#include <iostream>

using namespace std;
//模板声明,T为类型参数
template <typename T>
//定义一个通用函数,用T做虚拟的类型名
T max(T a[])
{
    int i;
    T m=0;
    for(i=0; i<5; i++)
    {
        if(a[i]>m)
            m=a[i];
    }
    return m;
}
//主函数
int main()
{
    int i;
    int x[5],X;
    float y[5],Y;
    long z[5],Z;
//输入
    for(i=0; i<5; i++)
        cin >> x[i];
    for(i=0; i<5; i++)
        cin >> y[i];
    for(i=0; i<5; i++)
        cin >>z[i];
//模板调用
    X=max(x);
    Y=max(y);
    Z=max(z);
//输出
    cout << X << endl;
    cout << Y << endl;
    cout << Z << endl;
    return 0;
}


sdut 面向对象程序设计上机练习二(函数模板)

原文:http://blog.csdn.net/u013634961/article/details/39011115

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!