zoukankan      html  css  js  c++  java
  • C++基础(using)

    using :

    1.在当前文件中引入命名空间

        using namespace std;

    2.在子类中使用 using 声明引入基类成员名称(参见C++ primer

        具体作用体现:

        (1).解除因继承导致的成员保护或私有化限制,将基类成员引入到派生类的相应访问控制区域内,便可按照相应规则访问该基成员;

        class Base {
        private:
            std::size_t size()
    const { return n; }
        protected:
            std::size_t n;
        };
        class Derive : private Base {

        public:
            
    using
    Base: size;            //用户和类内访问
        protected:
            
    using
    Base:n;                //类内访问
        };

        (1).派生类欲重载基类成员(正常情况下,基类函数会被重写,如果派生类需要重载需要为每个派生类重写基类函数);

        class Base {
        public:
            std::size_t size()
    const { return 1; }

            std::size_t size(int n) const { return n; }
        };
        class Derive : public Base {

        public:

            using Base:size;                    //获得基类所有此函数的重载版本
            std::size_t size(float n)
    const { return n; }            
        };

  • 相关阅读:
    LOJ6435 「PKUSC2018」星际穿越
    LOJ6433 「PKUSC2018」最大前缀和
    LOJ2541 「PKUWC2018」猎人杀
    LOJ2545 「JXOI2018」守卫
    LOJ2290 「THUWC 2017」随机二分图
    CF1007B Pave the Parallelepiped
    【学习笔记】卡特兰数
    Linux系统命令“su
    免密
    Window操作系统下的SSL证书管理
  • 原文地址:https://www.cnblogs.com/fegnze/p/4123827.html
Copyright © 2011-2022 走看看