class intArray { protected: int ar[MaxArray]; int n; ...... public: void print(); ...... };
时间: 2024-02-16 12:47:05 浏览: 98
这是一个名为 `intArray` 的类,它包含一个名为 `ar` 的整型数组和一个名为 `n` 的整型变量。这个类有一个受保护的成员函数和一个公有成员函数,其中 `print()` 函数用于打印出数组中存储的元素。
`MaxArray` 在代码中未被定义,但可以猜测它是一个常量,用于定义数组 `ar` 的大小。除此之外,我们无法确定其他的类成员和函数的定义。
相关问题
实现一个类层次管理整数数组,基类intArray为一维数组,派生类Maxtrix为二维数组,Array3D为三维数组。请参照基类intArray的定义,完成派生类Matrix和Array3D的定义。其中intArray定义如下: class intArray{ public: intArray(int count) { ar=new int[count]; n=count; } int & elem(int i) { return ar[i]; } void print( ) { int i; for(i=0;i<n;i++) cout<<ar[i]<< " "; } protected: int *ar; int n; //代表元素个数 };
以下是Matrix和Array3D的定义:
class Matrix : public intArray {
public:
Matrix(int rowCount, int colCount) : intArray(rowCount * colCount) {
rows = rowCount;
cols = colCount;
}
int& elem(int row, int col) {
return ar[row * cols + col];
}
void print() {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
cout << elem(i, j) << " ";
}
cout << endl;
}
}
private:
int rows, cols;
};
class Array3D : public intArray {
public:
Array3D(int dim1Count, int dim2Count, int dim3Count) : intArray(dim1Count * dim2Count * dim3Count) {
dim1 = dim1Count;
dim2 = dim2Count;
dim3 = dim3Count;
}
int& elem(int dim1Index, int dim2Index, int dim3Index) {
return ar[dim1Index * dim2 * dim3 + dim2Index * dim3 + dim3Index];
}
void print() {
int i, j, k;
for (i = 0; i < dim1; i++) {
for (j = 0; j < dim2; j++) {
for (k = 0; k < dim3; k++) {
cout << elem(i, j, k) << " ";
}
cout << endl;
}
cout << endl;
}
}
private:
int dim1, dim2, dim3;
};
解释此代码:public void display(){ for(int i = 0 ; i < elems ; i++){ System .out.print(intArray[i]+" "); } System .out.print("\n"); }
这是一个Java方法,名为`display`,它没有返回值(即`void`)。这个方法的作用是在控制台上打印出一个整数数组中的所有元素。
具体来说,这个方法使用一个`for`循环遍历整数数组`intArray`,并使用`System.out.print()`方法在控制台上打印出每个元素,中间用空格分隔。最后,使用`System.out.print("\n")`方法打印一个换行符,以便下一行的输出不会与此行的输出混淆。
需要注意的是,`elems`是一个整数变量,它代表了数组中实际存储的元素个数。因此,`for`循环的条件是`i < elems`,而不是`intArray.length`。这是为了避免遍历数组中未被初始化的元素。
阅读全文