C++静态成员函数基本概念讲解

开发 后端
C++静态成员函数中的地址可以使用普通的函数指针进行储存。不过在C++静态成员函数中是不可以调用类的非静态成员的。

我们在上一篇文章中为大家详细介绍了C++静态数据成员的一些定义方法以及相关应用,相信大家应该对这方面的内容有所掌握。在这里,我们将会进一步对C++静态成员函数做一个详细介绍,加深大家对其的认识程度。 

1.C++静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。举例如下:

  1. class base{   
  2. static int func1();   
  3. int func2();   
  4. };   
  5. int (*pf1)()=&base::func1;//普通的函数指针   
  6. int (base::*pf2)()=&base::func2;//成员函数指针 

2.静态成员函数不可以调用类的非静态成员。因为C++静态成员函数不含this指针。

3.C++静态成员函数不可以同时声明为 virtual、const、volatile函数。举例如下:

  1. class base{   
  2. virtual static void func1();//错误   
  3. static void func2() const;//错误   
  4. static void func3() volatile;//错误   
  5. }; 

最后要说的一点是,静态成员是可以独立访问的,也就是说,无须创建任何对象实例就可以访问。

【编辑推荐】

  1. C++静态数据成员定义及应用浅谈
  2. C++指针重载应用代码解读
  3. C++模板函数重载不同之处点评
  4. C++模板参数具体概念讲解
  5. C++左值与右值之间共同与不同点解析
责任编辑:曹凯 来源: 博客园
相关推荐

2010-02-03 14:36:47

C++仿函数

2010-02-05 17:34:37

C++函数模板

2010-02-03 13:22:07

C++时间

2010-02-05 12:57:20

C++ kdevelo

2010-02-02 10:33:22

C++引用

2010-02-03 11:11:18

C++类型转换

2010-02-02 13:41:01

C++类继承

2010-02-02 15:30:05

C++ include

2010-02-01 17:24:41

C++循环语句

2010-01-21 14:28:03

C++静态成员函数

2010-02-06 14:04:58

C++内存使用机制

2010-02-04 13:56:24

C++类模板特化

2010-02-01 14:07:12

C++多态性

2011-07-21 15:28:30

java

2010-02-04 17:39:48

C++字符串类型

2010-02-06 15:58:10

C++集合初始化

2010-02-04 17:32:43

C++中C风格字符串

2010-02-01 11:01:30

C++静态构造函数

2010-06-10 14:56:18

UML建模语言

2010-01-21 14:19:44

C++静态成员
点赞
收藏

51CTO技术栈公众号