C++派生訪(fǎng)問(wèn)說(shuō)明符小記(推薦)
更新時(shí)間:2017年01月10日 10:19:07 投稿:jingxian
下面小編就為大家?guī)?lái)一篇C++派生訪(fǎng)問(wèn)說(shuō)明符小記(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
如下所示:
#include <iostream>
using namespace std;
class a{
protected:
int i;
private:
int j;
public:
int k;
};
class b:public a{//派生訪(fǎng)問(wèn)說(shuō)明符對(duì)派生類(lèi)內(nèi)對(duì)其直接基類(lèi)的訪(fǎng)問(wèn)沒(méi)有影響,主要是用于控制派生類(lèi)用戶(hù)(包括派生類(lèi)的派生類(lèi))對(duì)基類(lèi)成員的訪(fǎng)問(wèn)權(quán)限
friend void f1(a a1){
cout<<a1.i;//錯(cuò)誤,派生類(lèi)的成員或友元不能訪(fǎng)問(wèn)基類(lèi)對(duì)象protected成員(protected特性)
cout<<a1.j;//錯(cuò)誤,派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)private成員
cout<<a1.k;//正確
}
friend void f1(b b1){
cout<<b1.i;//正確,派生類(lèi)可以通過(guò)派生類(lèi)對(duì)象訪(fǎng)問(wèn)基類(lèi)protected成員
cout<<b1.j;//錯(cuò)誤,派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)private成員
cout<<b1.k;//正確
}
void f2(a a1){
cout<<a1.i;//錯(cuò)誤,派生類(lèi)的成員或友元不能訪(fǎng)問(wèn)基類(lèi)對(duì)象protected成員(protected特性)
cout<<a1.j;//錯(cuò)誤,派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)private成員
cout<<a1.k;//正確
}
void f2(b b1){
cout<<b1.i;//正確,派生類(lèi)可以通過(guò)派生類(lèi)對(duì)象訪(fǎng)問(wèn)基類(lèi)protected成員
cout<<b1.j;//錯(cuò)誤,派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)private成員
cout<<b1.k;//正確
}
void f3(){
cout<<i;//正確,派生類(lèi)可直接訪(fǎng)問(wèn)基類(lèi)protected成員
cout<<j;//錯(cuò)誤,派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)private成員
cout<<k;//正確
}
};
class c:private a{}
class e:protected a{}
class f:public c{
void f4(){
cout<<k;//出錯(cuò),原因是f的直接基類(lèi)c由a private派生
}
}
int main()
{
f f1;
b b1;
cout<<f1.k;//出錯(cuò),原因是f的直接基類(lèi)c由a private派生
system("pause");
return 0;
}
以上這篇C++派生訪(fǎng)問(wèn)說(shuō)明符小記(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于C++實(shí)現(xiàn)的哈夫曼編碼解碼操作示例
這篇文章主要介紹了基于C++實(shí)現(xiàn)的哈夫曼編碼解碼操作,結(jié)合實(shí)例形式分析了C++實(shí)現(xiàn)的哈夫曼編碼解碼相關(guān)定義與使用技巧,需要的朋友可以參考下2018-04-04
C語(yǔ)言對(duì)結(jié)構(gòu)體數(shù)組按照某項(xiàng)規(guī)則進(jìn)行排序的實(shí)現(xiàn)過(guò)程探究
這篇文章主要介紹了C語(yǔ)言對(duì)結(jié)構(gòu)體數(shù)組按照某項(xiàng)規(guī)則進(jìn)行排序的實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02
M1 Macbook vscode C++ debug調(diào)試實(shí)現(xiàn)
本文主要介紹了M1 Macbook vscode C++ debug調(diào)試,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
C/C++實(shí)現(xiàn)通訊錄管理系統(tǒng)(附源碼)
這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-12-12
使用c++實(shí)現(xiàn)OpenCV繪制旋轉(zhuǎn)矩形圖形
這篇文章主要給大家介紹了使用c++實(shí)現(xiàn)OpenCV繪制圖形旋轉(zhuǎn)矩形的方法案例,通過(guò)圖文及代碼形式進(jìn)行了詳細(xì)的描述,有需要的朋友可以參考下,希望可以有所幫助2021-08-08

