home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 February / Chip_2001-02_cd1.bin / chplus / poly / soucet2.cpp < prev    next >
C/C++ Source or Header  |  2001-01-03  |  1KB  |  50 lines

  1. ////////////////////////////////////////////////////////////////////////////
  2. //
  3. //   soubor:  soucet2.cpp
  4. //   projekt: Sablony v C++ - specializace trochu jinak
  5. //   autor:   Jaroslav Franek
  6. //   (c) 2000 Jaroslav Franek
  7. //
  8. //   Tridy rysu
  9. //      funkce soucet - pokus 2, stale to neni ono
  10. //
  11. ////////////////////////////////////////////////////////////////////////////
  12.  
  13. #pragma hdrstop
  14. #include <condefs.h>
  15. #include <iostream>
  16.  
  17. template <class VYSLEDEK, class LEVY, class PRAVY>
  18. VYSLEDEK soucet(LEVY levy, PRAVY pravy)
  19. {
  20.    return VYSLEDEK(levy + pravy);
  21. }
  22.  
  23. //---------------------------------------------------------------------------
  24. #pragma argsused
  25. int main(int argc, char* argv[])
  26. {
  27.    int a;
  28.    int b = 3;
  29.    short c = 5;
  30.  
  31.    // tohle neprojde
  32. //   a = soucet(b, c);
  33.  
  34.    // tohle vsechno znamena totez a je to OK
  35.    a = soucet<int>(b, c);
  36.    std::cout << '\n' << a;
  37.  
  38.    a = soucet<int, int>(b, c);
  39.    std::cout << '\n' << a;
  40.  
  41.    a = soucet<int, int, short>(b, c);
  42.    std::cout << '\n' << a;
  43.  
  44.    // ale stejne tak spravne je
  45.    double d = soucet<double>(b, c);
  46.    std::cout << '\n' << d;
  47.  
  48.    return 0;
  49. }
  50.