C++习题3.9

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;
}

知识点:静态成员  有啥用?
对象之间能共享数据

猜你喜欢

转载自blog.csdn.net/qq_44909497/article/details/89463110
3.9