zoukankan      html  css  js  c++  java
  • 继承中的静态成员的处理

    类似非静态成员函数处理

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

    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;
    }

    结果:

  • 相关阅读:
    d
    今天刚注册,测试下
    关于Hadoop的简单介绍
    leveldb 阅读笔记 (2) 简易测试框架
    leveldb 阅读笔记(1) 内存分配器 Arena
    数论
    伴随网站
    convenience website
    大佬独特的骗分技巧
    动态规划
  • 原文地址:https://www.cnblogs.com/yifengs/p/15176834.html
Copyright © 2011-2022 走看看