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

c++静态成员与静态函数

时间:2015-12-19 23:02:47      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

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同。

c++静态成员与静态函数

标签:

原文地址:http://www.cnblogs.com/dongzhuangdian/p/5059873.html

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