2 回答
TA贡献1856条经验 获得超11个赞
静态成员函数是属于一个类的,而不是属于一个类对应的某个对象。好处是所有的对象共享一个静态的成员函数,节省内存。注意静态成员函数内不能改变非静态成员变量,由于你的例子中都是改变的是静态变量,所以静态成员函数的定义是可行的。
void Product::display ()
{cout<<sum<<endl; //显示总和
cout<<average()<<endl; //条用平均的成员变量,再显示出来
}
TA贡献1780条经验 获得超4个赞
静态成员函数属于类 而非静态成员函数属于对象.
之所以要用静态成员函数是因为静态成员函数可以用类名来引用他,而不用建立类的实例,非静态成员函数没有实例是不能使用的。这样就不用用到构造函数和析构函数了,能提高效率。。例如,drawRect成员函数使用了System.out.println成员函数,但实际上你却未曾创建一个某个System类的对象,这正是因为 out是System类的一个静态变量,所以你可以直接使用这个成员函数而无须定义一个System对象。
你所说的常成员函数是不是说加 了const的函数或者是一般的成员函数。如果是前者的话。我解释下
它加了const是因为可限制修改实参的值。但是你也许会问限制修改实参的值你可以直接给实参加个const就行,是的,实参前面也要加const。函数后面也要加。因为这样可以增加代码的可读性。
当然它也不能修改类其他数据成员的值
添加回答
举报
