//常量数组
const Array
cout<<"Testing Array: print 3"<
cout<
Array
cout<<"Testing Array: print 5"<
cout<<"Testing Array: print 6"<
Array
a5=a4;
cout<<"Testing Array: print 7"<
a5.setSize(a5.getSize()+1);
a5[a5.getSize()-1]=111;
cout<<"Testing Array: print 8"<
cout<<"Testing Array: print 9"<
Array
cout<<"Testing Array: print 10"<
}
cout<<"Testing Array: print 11"<
cout<
cout<<"Testing Array: print 12"<
cout<
void testArray2D() {
//普通数组
Array2D
cout<<"Testing Array2D: print 1"<
for(i=0; i
}
}
cout<<"Testing Array2D: print 2"<
cout<
//常量数组
const Array2D
cout<<"Testing Array2D: print 3"<
cout<
//拷贝构造
Array2D
cout<<"Testing Array2D: print 5"<
cout<<"Testing Array2D: print 6"<
Array2D
a5=a4;
cout<<"Testing Array2D: print 7"<
Array2D
cout<<"Testing Array2D: print 8"<
}
}
cout<<"Testing Array2D: print 9"<
cout<
const Array2D
cout<<"Testing Array2D: print 10"<
cout<
}
c++的数组是行主序的,二维数组,在内存里面其实也是一维连续地址,先保存第一行的所有元素,然后紧接着在后面的地址存第二行的元素。。数组下标从0开始,就是存在第0行和第0列。。NUM[3][4]访问第3行和第4列元素。
你的串号我已经记下,采纳后我会帮你制作
#include
#include
using namespace std;
template
class Array {
public:
Array(){;}
Array(int row);
~Array(){;}
int length();
T& operator[] (int i);
private:
vector
int size;
};
template
Array
this->size = size;
data = vector
}
template
int Array
return data.size();
}
template
T& Array
if (i >= size) {
cout << "over flow!" << endl;
exit(0);
}
return data[i];
}
int main()
{
Array< Array
Array< Array< Array
/* etc.. */
arr2[0] = Array
arr2[0][0] = 1;
arr2[0][1] = 2;
arr2[0][2] = 3;
cout<<"arr2:"<
cout<
arr3[0] = Array< Array
arr3[0][0] = Array
arr3[0][0][0] = 1;
arr3[0][0][1] = 1;
arr3[0][0][2] = 1;
arr3[0][0][3] = 1;
arr3[0][0][4] = 1;
cout<<"arr3:"<
cout<
return 0;
}
定义一个Array模板,然后嵌套着定义就行了,用vector比较简洁而且不容易出错 恩恩
对于补充的问题:
1. void run();必须声明成静态
2.call_func(sbd::run);
c++有向量vector,下面程序供参考
#include
#include
using namespace std;
int main()
{
vector
vec1.push_back(1);
vec1.push_back(2);
vec1.push_back(3);
vector
vec2.push_back(2);
vec2.push_back(20);
vector< vector
vecT.push_back(vec1);
vecT.push_back(vec2);
int i=0, j=0;
for(i=0; i<(int)vecT.size(); i++)
{
for(j=0; j<(int)vecT[i].size(); j++)
{
cout<
cout<<"\n";
}
char c = getchar();//敲入字符以结束
}