C++ 在派生类中使用using声明改变基类成员的可访问性
生活随笔
收集整理的這篇文章主要介紹了
C++ 在派生类中使用using声明改变基类成员的可访问性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
通過在類的內部使用using聲明語句 , 我們可以將該類的直接或間接基類中的任何可訪問成員標記出來 (只限于非私有成員) 。using聲明語句中名字的訪問權限由該using聲明語句之前的訪問說明符來決定。
例子如下:
//.h class Base { public:int base_public = 1;void func1(); protected:int base_protect = 2;void func2(); private:int base_private = 3;void func3(); };class Derive1 :private Base //私有繼承 { public://在public作用域聲明基類中的成員using Base::base_public; //成功,基類公有->派生類公有using Base::func1; //成功,基類公有->派生類公有using Base::func2; //成功,基類保護->派生類公有 protected:using Base::base_protect; //成功,基類保護->派生類保護using Base::func3; //錯誤,基類私有->派生類保護;編譯器報錯 , 不可訪問 private:using Base::base_private; // 錯誤, 基類私有->派生類私有;編譯器報錯 , 不可訪問 };總結:
1、在派生類中利用using聲明可以改變基類除私有成員外其他成員的訪問權限。
2、改變后該成員在派生類的訪問權限由using位于的派生類訪問說明符確定。
總結
以上是生活随笔為你收集整理的C++ 在派生类中使用using声明改变基类成员的可访问性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 年薪百万招兵买马,拼多多杀入大模型
- 下一篇: 如何获得抖音神秘人套装