小众知识

首页 > 正文

关于static的问题,请给予指教!

在类里面定义成员函数时,假如该成员函数是非static的可以定义为const,但静态成员函数定义为const是错误的,你各位大仙指教
例如:

class example
{
    private:
    static int a;
    int        b;
public:
    example();
    ~example();
    void getValue() const; //is right
    static  int gatValue1() const ; // is wrong
}

why?  

 ixMind 发表于:2002-11-08 15:04:29
得分:0 

const成员函数是指它不会修改所在对象的状态
而static成员函数是属于类而不是属于具体的对象的

 dsangvei 发表于:2002-11-08 15:10:56
得分:0 

A static member function does not have an implicit this argument so the const and volatile function qualifiers cannot be used 

 cxwhust 发表于:2002-11-13 17:19:43
得分:0 

哈哈哈,概念性错误
如ixMind(路在何方)所说:const成员函数是指调用该函数时不会修改所在对象的状态(一般指不会修改对象成员变量);
而static成员函数是属于类而不是属于具体的对象的(也可以理解为static成员函数是全局函数) 

上一篇:请问C++中的静态联编和动态联编的关系究竟是什么?
下一篇:运算符重载的问题!高手加分!

分享到: