首页 > 其他 > 详细

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

时间:2015-05-17 23:39:51      阅读:318      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!