C++中关于main()传递Sales类中私有部分double数组地址给对象使用的类方法函数的问题~
//这是头文件 #ifndef SALES_H_
#define SALES_H_
namespace SALES
{
class Sales
{
private:
enum {QUARTERS=4};
double sales[QUARTERS];//2如何将sales地址传给main()中的sheng.sales(//1 sales,3);//1如何传递在类中的私有部分的数组地址呢
double average;
double max;
double min;
public:
Sales(double ar[],int n);
Sales();
void showSales() const;
};
}
#endif
//源文件
#include<iostream>
#include"sales.h"
using SALES::Sales;
Sales::Sales(double ar[],int n)//如何用main()在这里传递类中私有部分的sales数组的地址呢
{
using std::cout;
using std::cin;
using std::endl;
average=0.0;
max=0.0;
min=0.0;
for(int i=0;i<n;i++)
{
cout<<"Enter #"<<++n<<":";
cin>>ar[i];
}
for(i=0;i<n;i++)
{
average=average+ar[i];
}
average=average/n;
max=ar[0];
min=ar[0];
i=0;
for( i=0;i<n;i++)
{
if(max<ar[i])
max=ar[i];
}
i=0;
for(i=0;i<n;i++)
{
if(min>ar[i])
min=ar[i];
}
}
Sales::Sales()
{
using std::cout;
using std::cin;
using std::endl;
average=0.0;
max=0.0;
min=0.0;
int p=0;
for(int i=0;i<4;i++,p++)
{
cout<<"Enter #"<<p+1<<":";
cin>>sales[i];
}
for(i=0;i<4;i++)
{
average=average+sales[i];
}
average=average/4;
max=sales[0];
min=sales[0];
for(i=0;i<4;i++)
{
if(max<sales[i])
max=sales[i];
}
for(i=0;i<4;i++)
{
if(min>sales[i])
min=sales[i];
}
}
void Sales::showSales() const
{
using std::cout;
using std::cin;
using std::endl;
int p=0;
for(int i=0;i<4;i++,p++)
{
cout<<"sales #"<<p+1<<" is "<<sales[i]<<" ";
}
cout<<"average is "<<average<<endl;
cout<<"max is "<<max<<endl;
cout<<"min is "<<min<<endl;
}
//main文件
#include<iostream>
#include"sales.h"
int main()
{
using SALES::Sales;
Sales wen;
wen.showSales();
Sales sheng;
sheng.Sales(sales,3);//1如何传递在类中的私有部分的数组地址呢
sheng.showSales();
return 0;
}
关键就是如何把main()中sheng.Sales(sales,3);如何能把类中double sales数组的地址传给Sales::Sales(double ar[],int n)类方法的函数地址传递问题?
[[it] 本帖最后由 沿途有鬼 于 2008-8-7 18:09 编辑 [/it]]