| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 150 人关注过本帖
标题:C++中关于main()传递Sales类中私有部分double数组地址给对象使用的类方法函数的问题~
收藏  订阅  推荐  打印
沿途有鬼
Rank: 2
等级:注册会员
帖子:68
积分:882
注册:2008-7-20
C++中关于main()传递Sales类中私有部分double数组地址给对象使用的类方法函数的问题~

关于main()传递类中私有部分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(//1 sales,3);//1如何传递在类中的私有部分的数组地址呢
    sheng.showSales();
   
    return 0;
}

关键就是如何把main()中sheng.sales(//sales,3);如何能把类中double sales数组的地址传给Sales::Sales(double ar[],int n)类方法的函数地址传递问题?

[ 本帖最后由 沿途有鬼 于 2008-8-5 18:06 编辑 ]
2008-8-5 18:00
共有 149 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.047930 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved