我们在上一篇文章中为大家详细介绍了C++静态数据成员的一些定义方法以及相关应用,相信大家应该对这方面的内容有所掌握。在这里,我们将会进一步对C++静态成员函数做一个详细介绍,加深大家对其的认识程度。
1.C++静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下:
- class base{
- static int func1();
- int func2();
- };
- int (*pf1)()=&base::func1;//普通的函数指针
- int (base::*pf2)()=&base::func2;//成员函数指针
2.静态成员函数不可以调用类的非静态成员。因为C++静态成员函数不含this指针。
3.C++静态成员函数不可以同时声明为 virtual、const、volatile函数。举例如下:
- class base{
- virtual static void func1();//错误
- static void func2() const;//错误
- static void func3() volatile;//错误
- };
最后要说的一点是,静态成员是可以独立访问的,也就是说,无须创建任何对象实例就可以访问。
【编辑推荐】