【总结】C++静态成员函数及测试用例
来源:互联网 发布:蚌埠学院网络教学平台 编辑:程序博客网 时间:2024/06/16 21:20
1.静态成员函数可以用普通函数指针储存,普通成员函数必须用类函数指针储存
class A{public:static void fun(){cout << "hello world" << endl;}public:void fun2(){}};int main(){void(*p)() = &A::fun;//用普通函数指针,正确void (*p1)() = &A::fun2;//用普通函数指针,错误void(A::*p2)() = &A::fun2;//正确,用类的函数指针void(A::*p3)() = &A::fun;//错误,静态成员函数用类函数指针}
2.静态成员函数不可以调用非静态成员函数原因有二,其一静态成员函数优于非静态成员函数生成,在编译的时候静态成员函数已经生成,其二静态成员函数不含this指针
class A{public:static void fun(){cout << "hello world" << endl;fun2();//错误,静态成员函数不能调用普通成员函数;}public:void fun2(){fun();//正确,普通成员函数可以调用静态成员函数}};
3.静态成员函数不可以同时声明为 virtual、const、volatile函数。
class A{public:static void fun()const//错误{cout << "hello world" << endl;}static virtual void fun2()//错误{}volatile static void fun3()//错误{}public:void fun2(){}};
4.在未创建任何对象时,静态成员函数依旧可以调用
class A{public:static void fun(){cout << "hello world" << endl;}public:void fun2(){}};int main(){A::fun();//静态成员函数储存在数据段,当类还未实例化是依旧可以调用return 0;}
如有不足,希望指正。
本文出自 “pawnsir的IT之路” 博客,请务必保留此出处http://10743407.blog.51cto.com/10733407/1749774
0 0
- 【总结】C++静态成员函数及测试用例
- 【总结】C++静态成员变量的特性总结及测试用例
- 【总结】C++静态成员变量的特性总结及测试用例
- C++静态数据成员及静态函数总结
- 静态成员函数总结
- 静态成员函数总结
- [C++] 静态成员函数
- 静态数据成员及静态成员函数
- 静态成员及静态成员函数
- 学习C++(2)之类的静态成员及静态成员函数
- C++静态成员函数总结
- C++static静态成员函数
- 【C++】静态成员函数小结
- C++:静态类成员函数
- c++静态类 及 静态成员函数
- 友元 函数/类 ;静态成员 及 静态成员函数
- C++复习要点总结之五静态成员变量及成员函数
- C++静态数据成员/静态函数成员总结
- 【总结】C++基类与派生类的赋值兼容规则
- 【总结】C++静态成员变量的特性总结及测试用例
- 【总结】C++静态成员变量的特性总结及测试用例
- 15种最佳系统日志优化实践
- C语言中的函数指针
- 【总结】C++静态成员函数及测试用例
- 解决 NSObjCRuntime的问题
- 【探索】VS下虚继承实现的方法-1
- 【探索】VS下实现虚继承的方法-2
- 关于mybatis的collection映射问题
- 【代码】模板实现双向链表的去重、拼接、合并、排序
- 基于hadoop与spark的大数据分析实战——第二章、Spark部署与安装
- 【干货】C++通过模板特化实现类型萃取实例--实现区分基本类型与自定义类型的memcpy
- 【代码】模板实现动态线性表(无类型萃取)