* /
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者: 王俊
* 完成日期:2013 年 4月13日
* 版 本 号:v1.0
* 输入描述:
* 问题描述:
*/
原错程序:
#include <iostream>
#include <string>
using namespace std;
class Box
{
public:
Box(int h,int w,int l):height(h),width(w),length(l){}
int volume( ){return height*width*length;};
private:
static int height; //静态的数据成员
int width;
int length;
};
int main()
{
Box b(2,3,4);
cout<<"volume is "<<b.volume()<<endl;
return 0;
}
错误原因:不能通过构造函数初始化静态类数据
改后程序:
#include <iostream>
#include <string>
using namespace std;
class Box
{
public:
Box(int w,int l):width(w),length(l){}
int volume( ){return height*width*length;};
private:
static int height; //静态的数据成员
int width;
int length;
};
int Box::height=2;
int main()
{
Box b(3,4);
cout<<"volume is "<<b.volume()<<endl;
return 0;
}
运行结果:
心得体会:静态数据成员要在类外与值。