猿问

C++关于类的static函数的程序,错在哪里?

C++关于类的static函数的程序,错在哪里?


aluckdog
浏览 710回答 2
2回答

慕桂英3389331

1234567891011121314151617181920212223242526272829303132333435363738394041424344#include&nbsp;<iostream>using&nbsp;namespace&nbsp;std;class&nbsp;store{public:&nbsp;store(int&nbsp;n,int&nbsp;q,double&nbsp;p);&nbsp;store(){}&nbsp;&nbsp;&nbsp;//加上默认构造函数&nbsp;void&nbsp;total();&nbsp;static&nbsp;double&nbsp;average();&nbsp;double&nbsp;display();private:&nbsp;int&nbsp;num;&nbsp;int&nbsp;quantity;&nbsp;static&nbsp;int&nbsp;SumOfQuan;&nbsp;double&nbsp;price;&nbsp;static&nbsp;double&nbsp;sum;}&nbsp;;/*全局声明*/int&nbsp;&nbsp;store::SumOfQuan=0;double&nbsp;store::sum=0.0;store::store(int&nbsp;n,int&nbsp;q,double&nbsp;p){&nbsp;num&nbsp;=&nbsp;n;&nbsp;quantity&nbsp;=&nbsp;q;&nbsp;price&nbsp;=&nbsp;p;}void&nbsp;store::total(){&nbsp;sum&nbsp;=&nbsp;sum&nbsp;+&nbsp;quantity*price;&nbsp;SumOfQuan&nbsp;=&nbsp;SumOfQuan&nbsp;+&nbsp;quantity;}double&nbsp;&nbsp;store::average(){&nbsp;//static&nbsp;在外面不用再加&nbsp;return&nbsp;(sum/SumOfQuan);}double&nbsp;store::display(){&nbsp;cout<<"总收款额:&nbsp;"<<sum<<"&nbsp;&nbsp;平均售价:&nbsp;"<<SumOfQuan<<endl;&nbsp;return&nbsp;0.0;&nbsp;&nbsp;//返回值}int&nbsp;main(){&nbsp;store&nbsp;s[3];&nbsp;//这没有默认构造函数&nbsp;int&nbsp;i&nbsp;=&nbsp;0;&nbsp;for(;i<3;i++){&nbsp;&nbsp;s[i].total();&nbsp;//这里是调用函数&nbsp;&nbsp;&nbsp;}&nbsp;s[0].display();&nbsp;return&nbsp;0;}

ITMISS

dluble store::sum=0;int store::SunOfQuan=1;//全局内初始化static double store::average(){return (sum/SumOfQuan);//这要零检测}
随时随地看视频慕课网APP
我要回答