zoukankan      html  css  js  c++  java
  • c++ : 静态成员函数

    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
  • 相关阅读:
    initData()
    moveUp()
    moveLeft()
    moveDown()
    函数具体分析
    Linux命令学习笔记
    RocketMQ使用记录
    solr安装记录
    centos7下面ruby的升级
    centos7下面装fastdfs
  • 原文地址:https://www.cnblogs.com/zengtx/p/6404903.html
Copyright © 2011-2022 走看看