• <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
            樓上正解。
            并且數組長度是編譯期量,所以正常情況下也應該作為模板參數。  回復  更多評論
              

            国内精品久久久久影院网站 | 丁香色欲久久久久久综合网| 美女久久久久久| 精品国产乱码久久久久久呢| 亚洲AV无码久久寂寞少妇| 久久精品中文騷妇女内射| 久久久青草青青亚洲国产免观| 99久久人妻无码精品系列蜜桃| 97超级碰碰碰碰久久久久| 久久笫一福利免费导航 | 热re99久久精品国99热| 美女写真久久影院| 亚洲中文字幕无码久久综合网| 久久成人国产精品| 亚洲天堂久久久| 18岁日韩内射颜射午夜久久成人| 久久综合久久综合亚洲| 国产成人久久777777| 久久精品中文騷妇女内射| 一本大道久久香蕉成人网| 91久久国产视频| 精品永久久福利一区二区| 久久婷婷五月综合97色直播| 国产亚洲精久久久久久无码AV| 亚洲精品国精品久久99热一| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久婷婷五月综合97色一本一本 | 69SEX久久精品国产麻豆| 久久久亚洲欧洲日产国码是AV| 久久国产香蕉一区精品| 久久久久亚洲精品天堂| 久久精品极品盛宴观看| 国产一区二区精品久久岳 | 浪潮AV色综合久久天堂| 久久亚洲国产最新网站| 色成年激情久久综合| 99精品国产在热久久无毒不卡| 91精品国产9l久久久久| 久久棈精品久久久久久噜噜| 久久精品国产99国产精品导航| 青青久久精品国产免费看 |