前言
今天学习到C++的类与对象,简单记录下,并想把之前写的都用类封装起来,还有我做的是求每行的和,这样有个好处,就是每行的和加起来就是总和,把数组转置,就可以求列的和,所以说比较灵活,还要说一点,普通数组如果作为参数传入函数的话,会退化成指针,所以无法求得数组长度及行列数。
代码
/*
作者:山科_xxin
时间:2017-03-16 23:05:45
功能:调用函数返回数组长度及行列数,求数组每行的和
类别:C++数组练习
*/
#include<iostream>
#include<stdlib.h>
using namespace std;
template <class T>
int *getArrayLen(T& array)
{
int len;
int row;
int col;
int len1;
int Len[3];
len = sizeof(array)/sizeof(int);
col = sizeof(array[0])/sizeof(int);
row = len/col;
Len[0] = len;
Len[1] = row;
Len[2] = col;
return Len;
}
class ArrSum
{
public:
int *Sum(int *Arr,int row,int col);
};
int *ArrSum::Sum(int *Arr,int row,int col)
{
int he = 0;
int *herow = new int[100];
*herow = 0;
int value = 0;
for (int i = 0;i<row;i++)
{
for(int j = 0;j<col;j++)
{
herow[i] += *(Arr+j);
}
}
return herow;
}
int main()
{
ArrSum arr;
int *len;
int row;
int col;
int *sum;
int a[2][3] = {{1,2,3},{2,3,4}};
len = getArrayLen(a);
row = len[1];
col = len[2];
sum = arr.Sum(*a,row,col);
cout<<sum[0]<<endl;
system("pause");
return 0;
}

后语
每天事情好多,感觉忙也忙不完,每天写代码的时间也很好,希望坚持住。



