码迷,mamicode.com
首页 > 编程语言 > 详细

c++ : 静态成员函数

时间:2017-02-16 13:53:18      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:name   对象   div   out   static   函数指针   实例   log   创建   

1. 静态成员函数的地址可以用普通函数指针存储,而普通成员函数地址需要用类成员函数指针来存储。

 1 class base{
 2     public:
 3         static int func1(){};
 4         int func2(){};
 5 };
 6 
 7 
 8 int main()
 9 {
10     int(*pf1)()=&base::func1; //普通的函数指针
11     int(base::*pf2)()=&base::func2; //成员函数指针
12     return 0;
13 }

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

3.静态成员函数不可以同时声明为virtual, const, volatile函数。

4. 静态成员函数无需创建任何实例对象就可以访问。

 1 #include<iostream>
 2 using namespace std;
 3 
 4 class M
 5 {
 6     public:
 7         M(int a){
 8             A=a;
 9             B+=a;}
10         static void f1(M m);
11     private:
12         int A;
13         static int B;
14 };
15 
16 void M::f1(M m)
17 {
18     cout << "A=" << m.A << endl;
19     cout << "B=" << B << endl;
20 }
21 
22 int M::B=0;
23 
24 int main()
25 {
26     M P(5), Q(10);
27     M::f1(P);
28     M::f1(Q);
29     return 0;
30 }
[zengtx@cmm03node02 test]$./a.out 
A=5
B=15
A=10
B=15

 

c++ : 静态成员函数

标签:name   对象   div   out   static   函数指针   实例   log   创建   

原文地址:http://www.cnblogs.com/zengtx/p/6404903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!