c++习题3.9
#include<iostream>
using namespace std;
class Product
{public:
Product(int n,int q,float p):num(n),quantity(q),price(p){} //定义构造函数
void total();
static float average(); //声明静态成员函数
static void display();
private:
int num;
int quantity;
float price;
static float discount;
static float sum;
static int n;
};
void Product::total()
{
float rate=1.0;
if(quantity>10)
{
rate=0.98;
}
sum=sum+price*(1-discount)*quantity*rate; //累加总销售款
n=n+quantity; //累加总件数
}
float Product::average()
{ //求平均售价
return(sum/n);
}
void Product::display()
{
cout<<"当日此商品的总销售款:"<<sum<<endl; //输出结果
cout<<"每件商品的平均售价:"<<average()<<endl;
}
float Product::discount=0.1; //对静态数据成员初始化
float Product::sum=0;
int Product::n=0;
int main()
{
Product a[3]={
Product(101,5,23.5),
Product(102,12,24.56),
Product(103,100,21.5)
};
for(int i=0;i<3;i++) //调用3次total函数
{
a[i].total();
}
Product::average(); //调用静态成员函数
Product::display();
return 0;
}
知识点:静态成员 有啥用?
对象之间能共享数据