📄 4.4.cpp
字号:
#include <iostream>
#define MaxArray 100 //最大元素个数;
/**
*@Title: Array类层次结构。
*@Author: Jiaong;
*@Version: 1.0;
*@ 该类层次包括底层基类:intArray 然后是由它派生的Mattix、Array3D类,由Mattix又派生SquareMatrix类;
*/
using namespace std;
class intArray //base class;
{
public:
void init() //初始化;
{
cout<<"录入整数个数:"<<endl;
cin>>n;
cout<<"录入:"<<endl;
cout<<"第一个:"<<endl;
cin>>ar[0];
cout<<endl;
for(int i=1;i<n;i++)
{
cout<<"下一个:"<<endl;
cin>>ar[i];
}
cout<<"ok"<<endl;
}
void print(){ //打印函数;
for(int i=0;i<n;i++)
cout<<ar[i]<<";"<<endl;
}
protected:
int ar[MaxArray]; //数组元素;
int n; //元素个数;
};
class Mattix : public intArray //矩阵类;
{
public:
virtual void init() //初始化重载;
{
cout<<"矩阵行数:"<<endl;
cin>>rowCount;
cout<<"矩阵列数:"<<endl;
cin>>colCount;
cout<<"录入:"<<endl;
for(int i=0;i<rowCount;i++)
for(int j=0;j<colCount;j++)
{
cout<<"录入第"<<i+1<<"行第"<<j+1<<"列的值:"<<endl;
cin>>ar[j+i*colCount];
}
}
virtual void print() //打印重载;
{
cout<<"打印结果:"<<endl;
for(int row=0;row<rowCount;row++)
{
for (int col=0;col<colCount;col++)
cout<<ar[col+row * colCount]<<" ";
cout <<"\n";
}
}
protected:
int rowCount,colCount; //行数和列数;
};
class Array3D :public intArray{ //三维矩阵类;
public:
virtual void init() //初始化重载;
{
cout<<"矩阵长度:"<<endl;
cin>>lenth;
cout<<"矩阵宽度:"<<endl;
cin>>wide;
cout<<"矩阵高度:"<<endl;
cin>>height;
cout<<"录入:"<<endl;
for(int i=0;i<lenth;i++)
for(int j=0;j<wide;j++)
for(int k=0;k<height;k++)
{
cout<<"录入长["<<i<<"]宽["<<j<<"]高["<<k<<"]的值:"<<endl;
cin>>ar[i*wide*height+j*height+k+1];
}
cout<<"ok"<<endl;
}
virtual void print() //打印重载;
{
cout<<"打印结果"<<endl;
for(int i=0;i<lenth;i++)
for(int j=0;j<wide;j++)
for(int k=0;k<height;k++)
{
cout<<ar[i*wide*height+j*height+k+1]<<" ";
cout<<"\n";
}
}
protected:
int lenth,wide,height; //三维矩阵长、宽、高;
};
class SquareMatrix : public Mattix //正矩阵类;
{
public:
virtual void init() //初始化重载;
{
cout<<"录入矩阵边长:"<<endl;
cin>>Count;
rowCount=colCount=Count;
cout<<"录入数据:"<<endl;
for(int i=0;i<rowCount;i++)
for(int j=0;j<colCount;j++)
{
cout<<"录入第"<<i+1<<"行第"<<j+1<<"列的值:"<<endl;
cin>>ar[j+i*colCount];
}
cout<<"录入ok"<<endl;
}
protected:
int Count; //矩阵边长;
};
int main() //主函数;
{
SquareMatrix a;
a.init();
a.print();
delete &a;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -