构造函数作业

建立一个类SUM,求二维数组外围各元素的和,并且输出数组各元素及所求之和。具体要求如下:
(1)私有数据成员
int a[4][4]:二维数组,存放要处理的数据。
int s:存放数组a外围各元素的和。
(2)公有成员函数
SUM(int b[4][4]):构造函数,用数组b初始化数组a。
void process():求二维数组外围各元素的和s。
void print():按行列方式输出数组a的各元素值,并输出外围各元素的和。
(3)在主函数中完成对该类的测试。使用如下测试数据(外围元素是指阴影部分的元素):
1    2    3    4
5    6    7    8
9    10    11    12
13    14    15    16
 

#include<iostream>

using namespace std;

class SUM
{
	private:
	int a[4][4];  
	int s;  //存放外围之和
	public:
	SUM(int b[4][4]); //初始化
	void process();
	void print();
};
SUM::SUM(int b[4][4])
{
	int s=0;
	for(int i=0;i<4;i++)
		for(int j=0;j<4;j++)
		{	
			a[i][j]=b[i][j];
		}
}
void SUM::process()
{
	for(int i=0;i<4;i++)
		for(int j=0;j<4;j++)
		{
			if(i==0|j==0|i==3|j==3)
				s=s+a[i][j];
		}
}
void SUM::print()
{
	for(int i=0;i<4;i++)
	{	
		for(int j=0;j<4;j++)
			cout<<a[i][j]<<"  ";
		cout<<endl;
	}
	cout<<"s="<<s<<endl;
}
int main()
{
	int c=0;
	int b[4][4];
	for(int i=0;i<4;i++)
		for(int j=0;j<4;j++)
		{	
			c++;
			b[i][j]=c;
		}
	SUM test(b);    // 传参二位数组,直接用其名
	test.process();
	test.print();
	return 0;
}

函数传参二位数组,直接用其名

猜你喜欢

转载自blog.csdn.net/qq_41916395/article/details/81166958