• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            jake1036

            c++類模板學習

                                   c++模板類

              1 模板類和重載函數一起使用
                 兩者一起使用時,先考慮重載函數,后考慮模板類,如過再找不到,就考慮類型轉換,可能會帶來精度的變化。
              

            #include <iostream>
             
            using namespace std ;
             
              
            //函數模板 
             template <class T>  
             
            const T MAX(T a , T b)
             
            {
                printf(
            "%s\n" , "template") ;
                
            return (a > b) ? a : b ;     
                    
             }

             
             
            int MAX(int x , int y)
             
            {
                 printf(
            "%s\n" , "int int" );
                 
            return (x > y) ? x : y ;     
             }
             
             
             
            int MAX(char x , int y)
             
            {
                 printf(
            "%s\n" , "char int" );
                 
            return (x > y) ? x : y ;     
             }
             
             
             
            int MAX(int x , char y)
             
            {
                 printf(
            "%s\n" , "int char" );
                 
            return (x > y) ? x : y ;    
             }
             
             
             
             

             
             
             
            int main()
             
            {  
                
            int   a = 3 , b = 5 ;
                
            char x = 'x' ; 
                
            double c = 3.4  ;
                cout
            <<MAX(a , b)<<endl ; //調用重載函數 
                cout<<MAX(c , d)<<endl ; //無對應的重載函數,則調用模板 
               
               cout
            <<MAX(a , x)<<endl ; //重載函數 
               cout<<MAX(x , a)<<endl ; //重載函數 
               cout<<MAX(c , a)<<endl ;
                cout
            <<MAX(a) ;
                system(
            "pause") ; 
                
            return 0 ;   
             }

            2  類模板
                (1)類模板的具體格式
                    template <class T>
                    class A
                   {

                   }
                  在類定義體外定義的成員函數,應該使用函數模板。
                     
                  

            /*
              類模板,但是在類外定義成員函數的時候,需要使用函數模板 


            */

            #include 
            <iostream>
              
            using namespace std ;
              template 
            <class T>
              
            class Base
              
            {
                
            public :    
                 T a ;
                 Base(T b)
                 
            {
                   a 
            = b ;    
                 }
               
                 T getA()
            {return a ;} //類內定義 
                 void setA(T c);    
              }
             ;
                
              template 
            <class T>   //模板在類外的定義 
              void  Base<T>::setA(T c)
               
            {
                 a 
            = c ;            
               }

               
              
              
            int main()
              
            {
                   Base 
            <int>b(4) ;
                   cout
            <<b.getA() ; 
               
                   Base 
            <double> bc(4) ;
                   bc.setA(
            4.3) ;
                   cout
            <<bc.getA() ; 
                   system(
            "pause") ; 
               
            return 0 ;    
              }

             注意成員函數在類外定義的情況。
             

            3 模板類
              主要指的是 STL 模板類
               
              

                   






              

            posted on 2011-05-14 20:06 kahn 閱讀(8053) 評論(0)  編輯 收藏 引用 所屬分類: c++學習總結

            欧美亚洲日本久久精品| 2021精品国产综合久久| 久久综合一区二区无码| 7777久久久国产精品消防器材| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 看久久久久久a级毛片| 99久久国产免费福利| 色综合久久久久综合99| 国产麻豆精品久久一二三| 久久99精品久久久久久野外 | 中文字幕亚洲综合久久| 色综合久久中文字幕综合网| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 99久久精品免费国产大片| 久久久久久久久久久| 久久男人中文字幕资源站| 久久免费精品视频| 亚洲国产另类久久久精品小说| 国产亚洲精午夜久久久久久| 欧美黑人激情性久久| 久久婷婷是五月综合色狠狠| 天天久久狠狠色综合| 99久久99久久| 国产亚洲精久久久久久无码| 久久精品国产亚洲αv忘忧草 | 久久精品免费一区二区三区| 7777精品久久久大香线蕉| 少妇无套内谢久久久久| 久久精品成人影院| 久久综合狠狠色综合伊人| 国产精品99久久99久久久| 无码人妻久久一区二区三区免费丨| 亚洲人成电影网站久久| 蜜桃麻豆WWW久久囤产精品| 亚洲国产天堂久久久久久| 日日狠狠久久偷偷色综合0| 久久影院午夜理论片无码| 国产99久久久国产精品小说| 久久人人爽人人人人片av| 久久精品亚洲AV久久久无码 |