• <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>

            思勤無邪

            上學時,因我年齡最小,個頭也最小,上課時,就像大猩猩堆里的猴一般。如今,這猴偶爾也把最近的一些情況寫在這里。

               :: 首頁 :: 聯系 :: 聚合  :: 管理
              132 Posts :: 1 Stories :: 178 Comments :: 0 Trackbacks

            公告

                 吾日常三省吾身,曰思、曰勤、曰無邪。

            積分與排名

            • 積分 - 184856
            • 排名 - 140

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            將上一篇的動態數組的函數模板封成了類,但沒有錯誤處理等。

            #include? < iostream >
            #include?
            < string >

            using ? namespace ?std;

            template
            < class ?T >
            class ?TDArray
            {
            public :
            ????TDArray(
            int ?rows,? int ?cols);
            ????
            ~ TDArray();
            ????template
            < class ?Tt > ?friend?ostream & ? operator << (?ostream & ?output,? const ?TDArray < Tt >& ?tdArray?);
            ????T
            * ? operator []( int ?rows);

            private :
            ????
            void ?Init();
            ????T?
            ** p;
            ????
            int ?m_rows;
            ????
            int ?m_cols;
            }
            ;

            template
            < class ?T >
            TDArray
            < T > ::TDArray( int ?rows,? int ?cols)
            {
            ????m_rows?
            = ?rows;
            ????m_cols?
            = ?cols;
            ????
            // ?創建行指針
            ????p? = ? new ?T * [rows];
            ????
            // ?為每一行分配空間
            ???? for ?( int ?i = 0 ;?i < rows;? ++ i)
            ????
            {
            ????????p[i]?
            = ? new ?T[cols];
            ????}

            ????
            // ?初始化
            ????Init();
            }


            template
            < class ?T >
            TDArray
            < T > :: ~ TDArray()
            {
            ????
            for ?( int ?x = 0 ;?x < m_rows;? ++ x)
            ????
            {
            ????????delete[]?p[x];
            ????}

            ????delete[]?p;
            ????p?
            = ? 0 ;
            }


            template
            < class ?T >
            inline?
            void ?TDArray < T > ::Init()
            {
            ????
            for ?( int ?x = 0 ;?x < m_rows;? ++ x)
            ????
            {
            ????????
            for ?( int ?y = 0 ;?y < m_cols;? ++ y)
            ????????
            {
            ????????????p[x][y]?
            = ?T();
            ????????}

            ????}

            }


            template
            < class ?T >
            ostream
            & ? operator << (?ostream & ?output,? const ?TDArray < T >& ?tdArray?)
            {
            ????
            for ?( int ?x = 0 ;?x < tdArray.m_rows;? ++ x)
            ????
            {
            ????????
            for ?( int ?y = 0 ;?y < tdArray.m_cols;? ++ y)
            ????????
            {
            ????????????output?
            << ? " [ " ? << ?x? << ? " ][ " ? << ?y? << ? " ] " ? << ?tdArray.p[x][y]? << ? " ? " ;
            ????????}

            ????????output?
            << ?endl;
            ????}

            ????
            return ?output;
            }


            template
            < class ?T >
            inline?T
            * ?TDArray < T > :: operator []( int ?rows)
            {
            ????
            return ?p[rows];
            }

            int ?main( void )
            {
            ????TDArray
            < int > ?iArray? = ?TDArray < int > ( 2 ,? 3 );
            ????iArray[
            1 ][ 0 ]? = ? 100 ;
            ????cout?
            << ?iArray;

            ????system(
            " pause " );
            ????
            return ? 0 ;
            }

            posted on 2006-09-28 15:44 思勤無邪 閱讀(883) 評論(2)  編輯 收藏 引用 所屬分類: C++

            Feedback

            # re: 將動態二維數組的函數模板封成了類 2006-09-29 10:06 周星星
            :) 什么是二維數組?

            二維數組的第一維元素的類型為“一維數組”,而不是“指向‘一維數組’的指針”  回復  更多評論
              

            # re: 將動態二維數組的函數模板封成了類 2008-12-01 09:59 anxinboyin
            樓上正解。
            并且數組長度是編譯期量,所以正常情況下也應該作為模板參數。  回復  更多評論
              

            一本色综合久久| 99久久99久久| 国产—久久香蕉国产线看观看| 伊人久久综在合线亚洲2019| 亚洲午夜久久久| 亚洲国产另类久久久精品| 久久精品国产亚洲综合色| 97香蕉久久夜色精品国产 | 三上悠亚久久精品| 天天综合久久久网| 久久婷婷成人综合色综合| 久久综合丁香激情久久| 国产精品久久婷婷六月丁香| 久久伊人精品青青草原高清| 欧美日韩精品久久久免费观看| 精品久久久久久成人AV| 青草国产精品久久久久久| 亚洲国产精品久久66| 国产成人精品久久| 久久亚洲sm情趣捆绑调教| 伊人色综合久久| 精品国产福利久久久| 一本色道久久综合狠狠躁| 亚洲v国产v天堂a无码久久| 精品无码久久久久久国产| 精品综合久久久久久88小说| 久久AV高清无码| 国产亚洲色婷婷久久99精品| 2021最新久久久视精品爱| 日本久久中文字幕| 日本加勒比久久精品| 久久久人妻精品无码一区| 久久狠狠爱亚洲综合影院| 五月丁香综合激情六月久久| 一本久久精品一区二区| 亚洲а∨天堂久久精品9966| 久久婷婷五月综合成人D啪| 人妻少妇精品久久| 午夜视频久久久久一区| 天天影视色香欲综合久久| 久久国产欧美日韩精品免费|