<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年12月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    有兩個代碼 第一個是朋友code兄寫的 在他的啟發下,我發現自己的錯誤 寫了下面那個
    寫struct或class 有兩個地方需要注意:
    第一、不能直接對成員變量附值,可以在成員函數或者構造函數里附值
    比如
    class T{int a = 5;};//這樣是錯的

    class T
    {
    public:
        
    int a;
        T(
    void)//構造函數
        {
          a 
    = 5;
        }

        
    void init(void)//成員函數
        {
         a 
    = 5;
        }

    };
    是OK的

    第二、數組一般不能使用a[]或者a[][],
    比如
    class T
    {
       
    int n ;
       
    int m ;
       
    int a[n][m]//提示你不能在class使用不定大小的數組
        int aa[5][6]//除非你這樣用
    };
    要定義不定長的數組,可以這樣
    class T
    {
       
    int *a//提示你不能在class使用不定大小的數組
        initArray(int m,int n)
        
    {
          a 
    = new int[m];
        }

        
    //用完記得釋放,避免野指針
         relArray()
        
    {
          delete []a;
        }

    }
    ;

    //代碼一(code兄寫的)

    #include<iostream.h>

    class Test
    {
    public:
        
    int n;
        int m;
        int **i;
        
    void init(int m,int n)
        
    {
            
    this->= m;
            
    this->= n;
            
            i
    =new int*[m];
            
            
    for(int j=0;j<m;j++)
            
    {
                i[j]
    =new int[n];
            }

        }

        
    void del(int m,int n)
        
    {
            
    for(int jj=0;jj<m;jj++)
            
    {
                delete []i[jj];
                i[jj]
    =NULL;
            }

        }

    }
    ;

    int main(void)
    {
        
    int i,j;
        Test 
    *test=new Test;
        test
    ->init(5,6);
        
        
    for(i = 0;i<test->m;i++)
        
    {
            
    for(j = 0;j<test->n;j++)
            
    {
                test
    ->i[i][j] = i+j;
            }

        }

        
        
    for(i = 0;i<test->m;i++)
        
    {
            
    for(j = 0;j<test->n;j++)
            
    {
                cout
    <<test->i[i][j]<<" ";
            }

            cout
    <<endl;
        }

        test
    ->del(5,6);
        
    return 0;
    }


    //代碼二(偶寫滴)

    #include<iostream.h>

    class Test
    {
    public:
        
    int m;
        
    int n;
        
    int *i;
        
    int *j;

        
    void init(int m,int n)
        
    {
            
    this->= m;
            
    this->= n;
        }

        
    void build()
        
    {
            i 
    = new int[this->m];
            j 
    = new int[this->n];
        }

        
    void del()
        
    {
            delete []i;
            delete []j;
        }


    }
    ;

    int main(void)
    {
        
    int i,j;
        Test 
    *test=new Test;
        test
    ->init(5,6);
        test
    ->build();
        
        
    for(i = 0;i<test->m;i++)
        
    {
            
    for(j = 0;j<test->n;j++)
            
    {
                test
    ->i[i] = i+j;
                test
    ->j[j] = i+j;
            }

        }

        
        
    for(i = 0;i<test->m;i++)
        
    {
            
    for(j = 0;j<test->n;j++)
            
    {
                cout
    <<test->i[i]<<" ";
                cout
    <<test->j[j]<<" ";
            }

            cout
    <<endl;
        }

        test
    ->del();
        
    return 0;
    }


    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-12-15 01:29 小尋 閱讀(1220) 評論(3)  編輯  收藏 所屬分類: c/c++/C#/pasic/vb/php/asp(.net)/win-cgi/xml...

    FeedBack:
    # re: C++class里的動態維數組定義 2007-12-16 17:08 zzzlfr
    TKS!  回復  更多評論
      
    # re: C++class里的動態維數組定義 2007-12-21 11:18 幻想~@@~
    動態數組最好用vector實現 比較方便 下面是我寫的簡單代碼   回復  更多評論
      
    # re: C++class里的動態維數組定義 2007-12-21 11:20 幻想~@@~
    Reference: http://book.csdn.net/bookfiles/17/1001758.shtml

    #include<iostream.h>
    #include
    <vector>
    using std::vector;

    int main()
    {
        vector
    <int> *vi = new vector<int>;//聲明vi里裝的是int變量類型的是數據
        int i = 0;
        
        
    while(i<25)
        
    {
           vi
    ->push_back(i);
           i
    ++;
        }


        i 
    = 0;
        
    while(i<25)
        
    {
           cout
    <<vi->at(i)<<" ";
           i
    ++;
        }

        
        
    if(!vi)
        
    {
            delete vi;
        }


        cout
    <<endl;

        
    return 0;
    }
      回復  更多評論
      
    主站蜘蛛池模板: 久久精品国产亚洲5555| 亚洲欧洲精品一区二区三区| 免费毛片a线观看| 亚洲三级在线播放| 亚洲第一页日韩专区| 69pao强力打造免费高清| 亚洲s码欧洲m码吹潮| 久久精品国产亚洲av成人| 天天摸夜夜摸成人免费视频 | 人妻免费一区二区三区最新| 亚洲国产成+人+综合| 亚洲国产精品成人久久蜜臀 | 亚洲一级特黄特黄的大片| 国产亚洲色视频在线| 免费看成人AA片无码视频羞羞网| 男女作爱免费网站| 国产婷婷综合丁香亚洲欧洲| 亚洲人JIZZ日本人| 国产在线观看免费完整版中文版| 性色午夜视频免费男人的天堂| 国产精品亚洲va在线观看| 亚洲电影在线播放| 久久精品国产69国产精品亚洲| 国产又粗又长又硬免费视频| 久久www免费人成看片| 香蕉免费看一区二区三区| 亚洲精品GV天堂无码男同| 亚洲第一永久在线观看| 亚洲线精品一区二区三区 | 香蕉97超级碰碰碰免费公| a级毛片免费在线观看| 最好2018中文免费视频| 亚洲中文无码卡通动漫野外| 久久久无码精品亚洲日韩按摩| 亚洲中文字幕伊人久久无码| 国产视频精品免费| 9久9久女女免费精品视频在线观看| 永久在线观看免费视频| 一级女人18片毛片免费视频| 亚洲av无码无线在线观看| 日韩亚洲产在线观看|