C++中关于main()传递类中私有部分double数组地址给对象方法的问题~

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)类方法的函数地址传递问题?

Sales sheng; 这里 他在定义对象的时候 是没有初始直的对象 应该在相应的希构函数中 加上一条Sales(){};
温馨提示:内容为网友见解,仅供参考
无其他回答

C++中关于main()传递类中私有部分double数组地址给对象方法的问题~
Sales sheng; 这里 他在定义对象的时候 是没有初始直的对象 应该在相应的希构函数中 加上一条Sales(){};

C++的数组传参问题
在main()函数中对赋值的数组直接调用这个函数得到的数据是正确的。而如果将数组直接以参数的方式传给调用的另外一个函数,并在此函数中获取数组的长度,程序计算出的数据只有整个数组的第一个元素的长度。原来c++中通过函数的参数的方法传送的数组数据,只包含该数组的首个元素(的地址),也就是说,在...

C++参数问题
idu|te卜(|ntv)来改变v的值,都是徒劳的。c语言里改变的只只能通过争取地址方式,进行传递,或许你会说传递数组就是传人递数组就是传递指针不是变值么,实际上,传递数组传递指针就是(或许对宿主来说,这个真有点特别)。\/\/注意:c里没有引用,C十十里才有,我们先来看一下有趣sWa函数。它用于...

C++中定义一个类,类的私有成员为一个一维数组,数组长度为10,那么给元...
比如在类里面定义一个函数,setNumber(int *number){ array[0] = number[0];………}\/\/ 如果是char*的话, 可以考虑用strcpy(注意在末尾添加一个null 即 ‘\\0’)恩 就这样子吧

C++的问题,求各位大佬帮帮忙是有关建立自己的double类型数组的问题
要理清楚什么是数组,如何动态分配以及如何给数组赋值,遍历等基础知识。例如:double a[10];\/\/这种为double 数组,10个double 类型元素 double *b;\/\/double类型指针 静态分配b = a;动态分配 b = new double(10);赋值就是遍历数组,对其中元素赋值。

VC++中关于取函数值的问题:
有两种办法,第一种就是把你的变量定义成全局变量,比如你有一个int型的变量:int XXX;你可以把变量定义成 extern int XXX;就没问题了,第二种就是把定义的变量加入到头文件中,这样就没什么问题了

c语言中怎么把屏幕输入的一组double数赋给一个数组
include <stdlib.h> include <memory.h> include <string.h> \/*功能:接收屏幕上的输入一组DOUBLE类型数据并将他们赋给一个DOUBLE类型的数组 输入:用来接收double类型的一个指针的指针,该指针在调用者函数中定义,在此函数中分配内存,在调用者函数中释放内存 输出:提示及错误信息 返回:得到的double类型...

c++问题 void main(int argc, char*argv[])怎么回事
void main(int argc, char* argv[ ])假设程序编译成为 cp.exe 然后在命令行中输入 c:\\>cp.exe doc1.txt doc2.txt 这行中有三个字符串分别为 cp.exe doc1.txt doc2.txt 则argc为3,即argc是命令行中参数的个数。char *argv[]为一个指像字符串的数组。argv[0]="cp.exe"argv[1]="...

c语言中交换两个数据,为什么数组是地址传递捏
回答:如果是不是传地址,那会在函数中重新定义两个变量分别等于两个参数的值,对新定义的两个变量进行操作。和原来的两个变量无关。 如果是传地址,那就是把两个数的地址传到函数中,对两个地址中的内容进行操作。所以会改变两个数的值。 一般如果要通过函数来改变参数的值,C都是要用传地址的,C++还...

c\/c++中,main(), void main()与void main(void)有什么区别
main(), void main(), void main(void)没啥区别。括号里是空的,表示你不要往mainI()函数里传递参数,和写void是一个意思。如果写main(int argc, char **argv)就表示你需要往main函数里传递参数,argc表示参数个数,argv是个指针数组,表示传递的具体内容 ...

相似回答
大家正在搜