zoukankan      html  css  js  c++  java
  • STL template&Containerfunction point & generic class

        please wirte a program to realize the model described in the figure. you shoudl design your program as negeric as possible so that we can enhance the model in the future ealily without making too much change in your program(SAP 2005)
        

    A1:
    //using function point
    #include<stdio.h>
    int jug(int x,int y)
    {
        if(x>=0)
        return x;
        else if(y==0)
        return y;
        else
        return x/y;
    }

    int sun(int x,int y)
        {
            return x+y;
        }

    int minus(int x,int y)
    {
        return x-y;
    }

    //use function point to call alternative function
    void test(int (*p)(int,int),int a,int b)
    {
    int result;
    result=(*p)(a,b);
    printf("a=%d,b=%d,result=%d",a,b,result);
    }

    int main()
    {
        int a=1,b=2,c=3,d=4,c=-5;
        test(sub,a,b);
        test(minus,c,d);
        test(jug,e,b);
        return 0;
    }


    A2:
    //using template
    #include <iostream>
    template<class T>
    class operate{
        public:
        static T add(T a, T b){
        return a+b;
        }
           
        static T Mul(T a,T b){
        return a*b;
        }

        static T Jug(T a,T b){
        if(a>=0)
            return a;
        else
        return a/b;
        }
    };

    int main(){
    int a,b,c,d,e,x,y,z;
    a=1,b=2,c=3,d=4,e=-5;
    x=operate<int>::Add(a,b);
    y=operate<int>::Mul(c,d);
    z=operate<int>::Jug(e,b);
    printf("%d,%d,%d",x,y,z);
    return 0;
    }
  • 相关阅读:
    [BZOJ4755][JSOI2016]扭动的回文串(manacher+Hash)
    十二省联考2019部分题解
    [BZOJ2959]长跑(LCT+并查集)
    [BZOJ4541][HNOI2016]矿区(平面图转对偶图)
    笛卡尔树
    [CF896C]Willem, Chtholly and Seniorious(珂朵莉树)
    [BZOJ4349]最小树形图
    [BZOJ1858][SCOI2010]序列操作(线段树)
    [PA2014]Parking
    [PA2014]Budowa
  • 原文地址:https://www.cnblogs.com/Winston/p/1081660.html
Copyright © 2011-2022 走看看