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

    1 静态成员的定义

    1 静态变量

    c++在类里面进行的仅是引用性声明,不会为之分配内存,要求必须单独对静态数据成员进行定义性的声明。形式为:

    类型 类名::静态数据成员名;

    此时的定义需要再加关键字static,并且可以在定义时初始化。

    c++要求类中成员变量不可以直接初始化,可以采用定义函数方法时后挂变量方式初始化。

    这与Java不同。

    2 静态函数

    定义方式与静态变量同。函数的定义可以在类内也可以在类外。

    class A 
    {
        public:
            A(int y)
            {
                a=y;
                cout<<a+x<<endl;    
            }
            //static int x;
            static void B(int z)
            {
                x=z;
                cout<<a<<"hehe"<<endl;
            }
        private:
            int a;
            static int x;
    };
    
    int A::x=1;
    void A::B(int z);
    
    int main()
    {
        //A::x=2;
        A a1(2);
        a1.B(3);
        return 0;
    }

    2 访问限制说明

    静态函数可以直接访问静态变量,但不可直接访问非静态成员,若要访问非静态成员,则必须借助于对象名或者指向对象的指针。

    非静态函数可以直接访问静态变量和非静态变量。

    这个特点与Java同。

  • 相关阅读:
    javascript中map的用法
    洛谷P1057传球游戏-题解
    洛谷P1049装箱问题-题解
    洛谷P1048采药-题解
    洛谷P1044栈-题解
    洛谷P1040加分二叉树-题解
    洛谷P1005矩阵取数游戏-题解
    洛谷P1004方格取数-题解
    洛谷P1002过河卒-题解
    搜索
  • 原文地址:https://www.cnblogs.com/dongzhuangdian/p/5059873.html
Copyright © 2011-2022 走看看