头文件
#ifndef SALES_H_
#define SALES_H_
namespace SALES
{
static const int QUARTERA=4;
class Sales
{
double sales[QUARTERA];
double average;
double max;
double min;
int m;
public:
Sales(double ar[],int n);
// Sales(Sales &s);
void showSalse()const;
};
}
#endif
#include<iostream>
#include "sales.h"
using namespace std;
namespace SALES
{
Sales::Sales(double ar[],int n)//当为const double ar[]时,不能传入动态数组
{
if(n>4)
m=4;
else
m=n;
double s=0;
max=ar[0];
min=ar[0];
for(int i=0;i<m;i++)
{
sales[i]=ar[i];
s=s+ar[i];
if(ar[i]>max)
max=ar[i];
if(ar[i]<min)
min=ar[i];
}
average=s/m;
}
//Sales::Sales(Sales &s)
//{
// *this=s;
//}
void Sales::showSalse()const
{
cout<<"数组"<<endl;
for(int i=0;i<m;i++)
cout<<sales[i]<<" ";
cout<<endl;
cout<<"数组的平均值为"<<average<<endl;
cout<<"数组的最大值为"<<max<<endl;
cout<<"数组的最小值为"<<min<<endl;
}
}
#include<iostream>
#include "sales.h"
using namespace std;
using SALES::Sales;
void main()
{
int n;//动态数组如何传入类中,类中数组定义不能用const
double *ar=new double[n];
cout<<"请输入数组的元素个数:";
cin>>n;
cout<<"请输入数组"<<endl;
for(int i=0;i<n;i++)
cin>>ar[i];
// double ar1[2]={1,2};
Sales s(ar,n);
s.showSalse();
Sales s1(s);//编译器有默认的复制构造函数
s1.showSalse();
cin.get();
}