日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++的三种访问权限的继承

發布時間:2025/3/15 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++的三种访问权限的继承 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++的三種訪問權限的繼承

開發工具與關鍵技術:C++、VisualStudio 作者:何任賢 撰寫時間:2019年05月20日 三種訪問權限繼承指的是,繼承過來的成員函數和成員變量還有析構函數的訪問權限,首先三種訪問權限分別是公有訪問權限(public)和私有訪問權限(private)還有保護訪問權限(protected)三種,struct結構體的默認訪問權限是公有(public),class類類型的默認訪問權限是私有(private)。 那么它們分別是什么意思呢?public意思是被其修飾的成員是公有的,可以在類外類內訪問,private意思是被其修飾的成員是私有的,只能在類內訪問,protected意思是被其修飾的成員是受保護的,和private一樣只能在類內訪問,這個一樣指的是訪問權限一樣,但是還是有區別的,體現在繼承中。 首先是公有繼承的例子

class A
{
public:
int a;
protected:
int b;
private:
int c;
};
class B: public A
{
public:
int d;
protected:
int e;
private:
int f;
};
class C : public B
{
};

首先是在main()中進行對變量進行訪問發現,只能點出公有的成員變量,保護和私有的沒有,這里沒有并不是沒有繼承下來,下面我在B類內和C類內進行訪問

對此我們可以知道的公有繼承是把公有的繼承之后還是公有的,私有的繼承之后還是私有的,保護繼承之后還是保護的,上面我說過保護和私有是區別,私有的被繼承之后不管是派生類內還是派生類外都不能訪問,但是保護的繼承之后在派生類內可以訪問,在類外不可以訪問,這就是私有和保護的區別。那么公有繼承的特點是公有的還是公有的,私有的還是私有的,保護的還是保護的。
下面是保護繼承的,還是上面的代碼只是把class B: public A和class C : public B改成class B: protected A和class C : protected B。

我們可以發現公有的經過保護繼承后,雖然可以把原來是公有點出來但是不能訪問,那么在派生類中可以訪問嗎?

我們發現除了原本在基類中是私有的以外,都可以訪問,證明了保護繼承把公有的變成保護,那么保護繼承的特點是把公有的變成保護的,私有的還是私有的,保護的還是保護的。
下面是私有繼承的,還是上面的代碼只是把class B: public A和class C : public B改成class B: private A和class C : private B。

我們可以發現公有的經過私有繼承后,雖然可以把原來是公有點出來但是不能訪問,那么在派生類中可以訪問嗎?

我們發現原本在A類中的公有和保護在經過私有繼承B類中是可以訪問的和保護繼承好像沒什么區別,但是C類在繼承B類是發現除了B類中的d和e成員變量以外其他的都不可以訪問,證明了私有繼承把公有的和保護的都變成私有的,那么私有繼承的特點是把公有的變成私有的,保護的變成私有的,私有的還是私有的。
三種訪問權限經過不同的繼承后,改變訪問權限或者不改變訪問權限。
經過上面的內容我們可以得出
1.公有的訪問權限除了公有繼承不會改變其訪問權限以外,其他的繼承都會改變其訪問權限;
2.保護的訪問權限只有是私有繼承會改變其訪問權限外,其他的繼承都不改變其訪問權限;
3.私有的訪問權限不管是什么繼承,都不會改變其的訪問權限;

總結

以上是生活随笔為你收集整理的C++的三种访问权限的继承的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。