首页  |  Linux  |  C/C++  |  网络编程  |  Python   |  Algorithm  |  数据库  |  经验  |   人生 & 随想   |  站内搜索  |  关于

<<< previous

该文已被浏览1286

C++:静态成员函数

2016-03-09

C++中的静态成员变量属于类而不属于某个具体的类对象,当静态成员变量是 public 的时候,我们可以通过 类名::静态成员变量名 的方式来访问某个静态成员变量(虽然通过某个类对象也可以访问,但是并不推荐这样做);然而当所要访问的静态成员变量是 private 的时候,我们该如何访问呢?首先可以想到的是定义一个普通的 public 的成员函数,利用该成员函数来访问这个静态的成员变量。然而这样做却并不优雅,因为这要通过某个类对象来调用这个成员函数,而静态的成员变量并不属于某个具体的类对象,因此一个更好的方法是使用 静态成员函数 .

声明/定义一个静态成员函数很简单,只需要在声明/定义函数是加上 static 关键字即可,下面举一个例子:
#include<iostream>
class Example
{
    public:
        // 定义静态成员函数
        static int get()
        {
            return count;
        }
        
    private:
        static int count;
};
int Example::count = 0;
int main()
{
    // 调用静态成员函数
    std::cout<<Example::get()<<"\n";
    return 0;
}
输出: 0

静态成员函数的两个特点



一如既往,如果你对文章中的内容有任何疑问,或者是发现文章中有任何错误,都可以通过下面的地址发邮件告诉我.
E-mail: rytubuntulinux@gmail.com