第七节, 静态成员变量和静态成员函数

来源:互联网 发布:很红的网络翻唱歌曲 编辑:程序博客网 时间:2024/05/17 07:53

 用static修饰的成员变量和成员函数叫做静态成员变量和静态成员函数。

下面我们看静态成员变量和静态成员函数有什么不同的地方。

首先看下面一个例子:

class Cat{    int age;public:    static int manyCounts;    void setAge(int aAge)    {        age = aAge;        manyCounts++;    };    static int getCounts()    {        return manyCounts;    };};//初始化静态成员变量int Cat::manyCounts = 0;int main(int argc, const char * argv[]){    Cat * cat = new Cat;    cat->setAge(55);   int count = Cat::getCounts();    std::cout<<"数量:"<<count;    return 0;}
这个例子中声明了静态成员变量manyCounts和静态成员函数getCounts().

首先我们应该明白,静态成员变量存储在全局区,实在编译的时候申请的存储空间,其他非静态一般是在运行时获取存储空间,这一点至关重要,必须得理解。

接下来我们看静态成员变量的初始化方式,声明类型,并且在调用静态成员变量的时候,必须用类名去调用,而且中间不再是“.”,“->”而是“::”.

调用静态成员函数也和调用静态成员变量差不多,形式“类名::静态函数名”。

原创粉丝点击