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)类方法的函数地址传递问题?
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是个指针数组,表示传递的具体内容 ...