C++ 静态成员函数

普通成员函数不可以访问静态成员

静态成员函数只能访问静态成员变量不能访问非静态成员变量

可以通过类的作用域访问静态成员函数

可以通过对象访问静态成员函数

静态函数之间、非静态函数与非静态函数之间可以访问

静态成员函数不可以调用非静态成员函数

访问静态成员的一般格式为:

类名::静态成员名

对象名.静态成员名

对象指针->静态成员名

C++ 静态成员函数与一般成员函数的不同

代码:

#include <iostream>
using namespace std;
class Person
{
public:
    int a;
    //静态成员变量不能在类初始化赋值,类内只能声明,定义在全局 声明的作用只是限制静态成员变量作用域
    static int b;//静态成员变量 在编译阶段就分配内存 存在静态全局区
    void show()
    {
        cout << a << " " << b << endl;
    }
    static void static_show()//静态成员函数 可以访问静态成员变量 不能访问内非静态成员变量
    {
        //cout << a << " " << b << endl; 在静态函数里 a不是静态变量访问不了
        cout << " " << b << endl;
    }

private:

};
int Person::b = 100;
void test01()
{
    Person::static_show();//通过类的作用域访问静态成员函数
    Person p1;
    p1.static_show();//通过对象访问类的静态成员函数
}

int main()
{
    test01();
    //cout << b << endl;//不可以访问
    cout << Person::b << endl;//通过类::静态变量 可以访问
    return 0;
}

运行结果:

C++ 静态成员函数

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
C++

C++ 静态成员变量

2023-10-4 20:36:41

C++

C++ 静态成员的使用

2023-10-4 22:22:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索