C++高手请进 有个简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:46:45
#include <iostream>
using namespace std;
class Store
{
public:
Store(int n,int q,float p):num(n),quantity(q),price(p){}

void total();
static float average();
static void display();
static float sum;
static float discount;
static int nall;
float setdis();

private:

int quantity;
double price;
int num;
};
float Store::setdis()
{cin>>discount;
}
void Store::total()
{if(quantity<=10)
sum+=quantity*price*discount;
else sum+=quantity*price*discount*9.8;
nall+=quantity;
}
float Store::average()
{return(sum/nall);
}
void Store::display()
{cout<<Store::sum<<" "<<Store::average()<<endl;}
float Store::sum=0;
int Store::nall=0;
int main()
{
Store sto[3]={
Store(101,5,23.5),
Store(102,12,24.5),
Store(103,100,21.5)

静态数组成员在访问时要用类来访问,Store::discount。并且在使用之前必须初始化,discount的值不会因为对象而改变。相当于所有对象共享这个值。
setdis()是一般成员函数,访问时要用对象来访问。sto[0].setdis()