前言
今天学习到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; }
后语
每天事情好多,感觉忙也忙不完,每天写代码的时间也很好,希望坚持住。