總時間限制:
1000ms
記憶體限制:
65536kb
// 在此處補充你的**描述
寫乙個二維陣列類 array2,使得下面程式的輸出結果是:
0,1,2,3,
4,5,6,7,
8,9,10,11,
next
0,1,2,3,
4,5,6,7,
8,9,10,11,
程式:
#include #include using namespace std;輸入無輸出class array2 ;
int main()
cout << endl;
}cout << "next" << endl;
array2 b; b = a;
for( i = 0;i < 3; ++i )
cout << endl;
}return 0;
}
0,1,2,3,
4,5,6,7,
8,9,10,11,
next
0,1,2,3,
4,5,6,7,
8,9,10,11,
樣例輸入
none樣例輸出
0,1,2,3,這裡使用一維陣列記憶體動態分配的方法來實現,注意構造拷貝要用深拷貝4,5,6,7,
8,9,10,11,
next
0,1,2,3,
4,5,6,7,
8,9,10,11,
a(i,j)的過載比較容易實現
注意這裡a[i][j]的過載,只需要讓前乙個返回p+i*m(列數)即可,後面乙個就是指標
#include #include using namespace std;
class array2
array2(int n_, int m_) :n(n_), m(m_)
array2(array2 &a) :n(a.n), m(a.m)
array2 & operator=(const array2 &a)
~array2()
int * operator (int i)
int & operator()(int i, int j)
};int main()
cout << endl;
} cout << "next" << endl;
array2 b; b = a;
for (i = 0; i < 3; ++i)
cout << endl;
} return 0;
}
二維陣列動態分配記憶體
在robert sedgewick所著的algorithm in c中,把二維陣列當成陣列的陣列為它動態分配記憶體。首先,分配乙個指標的陣列,然後為每一行分配記憶體。函式定義 void malloc2d int r,int c,int size void free2d void arr,int r ...
二維陣列動態分配記憶體
對二維陣列分配動態空間 1.已知二維陣列的行 第一維 include include 已知陣列的行數 列數由終端輸入 int main void int i,j,num int a 3 已知陣列有3行 printf 請輸入二位陣列的列數 n scanf d num 列數由終端輸入 for i 0 i...
二維陣列動態分配記憶體
c 二維陣列動態分配和釋放 1 已知第二維 code 1 char a n 指向陣列的指標 a char n malloc sizeof char m printf d n sizeof a 4,指標 printf d n sizeof a 0 n,一維陣列 free a 2 已知第一維 code ...