码迷,mamicode.com
首页 > 其他好文 > 详细

静态类成员函数无法访问普通的成员变量

时间:2015-05-17 23:40:37      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

class A
{
    int m_i;
public:
    static void f()
    {
        m_i=666;   //这是非法的,这个等价于this->m_i=666,而静态方法没有this
    }
    static void f(A&a)
    {
        a.m_i=666;   //这样就可以
    }
};

静态成员函数不属于任何一个类对象,没有this指针,而非静态成员必须随类对象的产生而产生,所以静态成员函数”看不见”非静态成员,自然也就不能访问了
但是如果静态成员函数通过引用一个对象,是可以直接访问成员的,也体现了它成员函数的特权。

静态类成员函数无法访问普通的成员变量

标签:

原文地址:http://blog.csdn.net/djb100316878/article/details/45797963

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