BZ易风

导航

 

类似非静态成员函数处理

如果想访问父类中的成员,加作用域即可

1.子类可以继承静态成员属性

 

如果有重名静态成员,就近原则

 

静态成员方法

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

class Base
{
public:
    static void func()
    {
        cout << "Base的func()" << endl;
    }
    static void func(int a)
    {
        cout << "Base (int a)的func()" << endl;
    }
    static int m_A;
};
int Base::m_A = 10;
class Son:public Base
{
public:
    static void func()
    {
        cout << "Son的func()" << endl;
    }
    static int m_A;
};
int Son::m_A = 20;
void test01()
{
    //静态成员属性 子类可以继承下来
    cout << Son::m_A << endl;   //20 如果子类有重名成员 就近原则

    //Son::func(10);  //error 同非静态一样 调用子类方法时会把父类所有同名函数重载都隐藏
    Son::func();    //就近原则,调用子类方法
    Son::Base::func(10);    //需要加父类名作用域的方式调用父类方法
}
int main()
{
    test01();
    system("Pause");
    return 0;
}

结果:

 

posted on 2021-08-23 17:21  BZ易风  阅读(74)  评论(0编辑  收藏  举报