C++关于类的static函数的程序,错在哪里?
2 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
1234567891011121314151617181920212223242526272829303132333435363738394041424344 | #include <iostream> using namespace std; class store{ public : store( int n, int q, double p); store(){} //加上默认构造函数 void total(); static double average(); double display(); private : int num; int quantity; static int SumOfQuan; double price; static double sum; } ; /*全局声明*/ int store::SumOfQuan=0; double store::sum=0.0; store::store( int n, int q, double p){ num = n; quantity = q; price = p; } void store::total(){ sum = sum + quantity*price; SumOfQuan = SumOfQuan + quantity; } double store::average(){ //static 在外面不用再加 return (sum/SumOfQuan); } double store::display(){ cout<< "总收款额: " <<sum<< " 平均售价: " <<SumOfQuan<<endl; return 0.0; //返回值 } int main(){ store s[3]; //这没有默认构造函数 int i = 0; for (;i<3;i++){ s[i].total(); //这里是调用函数 } s[0].display(); return 0; } |
ITMISS
TA贡献1871条经验 获得超8个赞
dluble store::sum=0;
int store::SunOfQuan=1;//全局内初始化
static double store::average(){
return (sum/SumOfQuan);//这要零检测
}
- 2 回答
- 0 关注
- 709 浏览
添加回答
举报
0/150
提交
取消