#include<iostream>usingnamespace std;classproduct{public:product(int n,int q,float p):num(n),quantity(q),price(p){};staticfloataverage();staticvoiddisplay();voidtotal();private:int num;int quantity;float price;staticfloat discount;staticfloat sum;staticint n;};void product::total(){float rate =1.0;if(quantity >10)
rate = rate *0.98;
sum = sum + quantity*price*rate *(1-discount);
n = n +quantity;}float product::average(){return(sum/n);}void product ::display(){
cout << sum << endl;
cout <<average()<< endl;}float product::discount =0.05;float product :: sum =0;int product :: n =0;intmain(){
product prod[3]={product(101,5,23.5),product(102,12,24.56),product(103,100,21.5)};for(int i =0;i <3; i++)
prod[i].total();
product::display();return0;}
程序运行结果
1256.6610.7407
Process returned 0(0x0) execution time :0.033 s
Press any key to continue.
统计学生平均成绩,用静态成员函数
#include<iostream>usingnamespace std;classstudent{public:student(int n,float s):num(n),score(s){}voidtotal();staticfloataverage();private:int num;float score;staticfloat sum;staticint count;};void student::total(){
sum += score;
count++;}float student::average(){return(sum/count);}float student:: sum =0;int student ::count =0;intmain(){student stud1[3]={student(2021621,89.5),student(2021622,98.6),student(2021623,98.5)};int n;
cout <<"please input the number of students: "<< endl;
cin >> n;for(int i =0; i< n; i++)
stud1[i].total();
cout <<"the average score of "<< n <<"student is "<< student::average()<< endl;//调用静态成员函数return0;}
程序运行结果
please input the number of students:3
the average score of3student is95.5333
Process returned 0(0x0) execution time :4.059 s
Press any key to continue.