?? 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 + -