具体要求如下:
(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 34
5 6 78
9 1011 12
13 1415 16
首先先建立一个工程SUM
SUM.h
#ifndef _SUM_H_
#define _SUM_H_
class SUM{
private:
int m_a[4][4]; //二维数组,存放要处理的数据
int m_s; //存放数组a外围各元素的和
public:
SUM(int b[4][4]); //构造函数,用数组b初始化数组a
void process(); //求二维数组外围各元素的和s
void print(); //按行列方式输出数组a的各元素值,并输出外围各元素的和
};
#endif
main.cpp
#include <iostream>
#include "SUM.h"
int main()
{
int b[4][4];
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
{
b[i][j] = i*4+j+1;
}
}
SUM sum(b);
sum.process();
sum.print();
return 0;
}
SUM.cpp
#include <iostream> #include "SUM.h" SUM::SUM(int b[4][4]) { for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { m_a[i][j] = b[i][j]; } } } void SUM::process() { m_s = 0; for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { if(i==0 || i==3 || j==0 || j==3) { m_s += m_a[i][j]; } } } } void SUM::print() { int count = 0; for(int i=0; i<4; i++) { for(int j=0; j<4; j++) { std::cout<<m_a[i][j]<<'\t'; count++; } if(count % 4 == 0) { std::cout<<std::endl; } } std::cout<<"外围数组元素之和:"<<m_s<<std::endl; }