C++派生訪問(wèn)說(shuō)明符小記(推薦)
如下所示:
#include <iostream> 
using namespace std; 
class a{
protected:
	int i;
private:
	int j;
public:
	int k;
};
class b:public a{//派生訪問(wèn)說(shuō)明符對(duì)派生類(lèi)內(nèi)對(duì)其直接基類(lèi)的訪問(wèn)沒(méi)有影響,主要是用于控制派生類(lèi)用戶(包括派生類(lèi)的派生類(lèi))對(duì)基類(lèi)成員的訪問(wèn)權(quán)限
	friend void f1(a a1){
		cout<<a1.i;//錯(cuò)誤,派生類(lèi)的成員或友元不能訪問(wèn)基類(lèi)對(duì)象protected成員(protected特性)
		cout<<a1.j;//錯(cuò)誤,派生類(lèi)不能訪問(wèn)基類(lèi)private成員
		cout<<a1.k;//正確
	}
	friend void f1(b b1){
		cout<<b1.i;//正確,派生類(lèi)可以通過(guò)派生類(lèi)對(duì)象訪問(wèn)基類(lèi)protected成員
		cout<<b1.j;//錯(cuò)誤,派生類(lèi)不能訪問(wèn)基類(lèi)private成員
		cout<<b1.k;//正確
	}
	void f2(a a1){
		cout<<a1.i;//錯(cuò)誤,派生類(lèi)的成員或友元不能訪問(wèn)基類(lèi)對(duì)象protected成員(protected特性)
		cout<<a1.j;//錯(cuò)誤,派生類(lèi)不能訪問(wèn)基類(lèi)private成員
		cout<<a1.k;//正確
	}
	void f2(b b1){
		cout<<b1.i;//正確,派生類(lèi)可以通過(guò)派生類(lèi)對(duì)象訪問(wèn)基類(lèi)protected成員
		cout<<b1.j;//錯(cuò)誤,派生類(lèi)不能訪問(wèn)基類(lèi)private成員
		cout<<b1.k;//正確
	}
	void f3(){
		cout<<i;//正確,派生類(lèi)可直接訪問(wèn)基類(lèi)protected成員
		cout<<j;//錯(cuò)誤,派生類(lèi)不能訪問(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++派生訪問(wèn)說(shuō)明符小記(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。
上一篇:C語(yǔ)言 坐標(biāo)移動(dòng)詳解及實(shí)例代碼
欄 目:C語(yǔ)言
下一篇:C語(yǔ)言基礎(chǔ)知識(shí)變量的作用域和存儲(chǔ)方式詳細(xì)介紹
本文標(biāo)題:C++派生訪問(wèn)說(shuō)明符小記(推薦)
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/1811.html
您可能感興趣的文章
- 04-02c語(yǔ)言沒(méi)有round函數(shù) round c語(yǔ)言
 - 01-10深入理解C++中常見(jiàn)的關(guān)鍵字含義
 - 01-10使用C++實(shí)現(xiàn)全排列算法的方法詳解
 - 01-10c++中inline的用法分析
 - 01-10用C++實(shí)現(xiàn)DBSCAN聚類(lèi)算法
 - 01-10全排列算法的非遞歸實(shí)現(xiàn)與遞歸實(shí)現(xiàn)的方法(C++)
 - 01-10C++大數(shù)模板(推薦)
 - 01-10淺談C/C++中的static與extern關(guān)鍵字的使用詳解
 - 01-10深入C/C++浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方式詳解
 - 01-10深入理解C/C++混合編程
 


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
 - 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
 - 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
 - 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
 - 5c語(yǔ)言計(jì)算三角形面積代碼
 - 6什么是 WSH(腳本宿主)的詳細(xì)解釋
 - 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
 - 8正則表達(dá)式匹配各種特殊字符
 - 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
 - 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
 
本欄相關(guān)
- 04-02c語(yǔ)言函數(shù)調(diào)用后清空內(nèi)存 c語(yǔ)言調(diào)用
 - 04-02func函數(shù)+在C語(yǔ)言 func函數(shù)在c語(yǔ)言中
 - 04-02c語(yǔ)言的正則匹配函數(shù) c語(yǔ)言正則表達(dá)
 - 04-02c語(yǔ)言用函數(shù)寫(xiě)分段 用c語(yǔ)言表示分段
 - 04-02c語(yǔ)言中對(duì)數(shù)函數(shù)的表達(dá)式 c語(yǔ)言中對(duì)
 - 04-02c語(yǔ)言編寫(xiě)函數(shù)冒泡排序 c語(yǔ)言冒泡排
 - 04-02c語(yǔ)言沒(méi)有round函數(shù) round c語(yǔ)言
 - 04-02c語(yǔ)言分段函數(shù)怎么求 用c語(yǔ)言求分段
 - 04-02C語(yǔ)言中怎么打出三角函數(shù) c語(yǔ)言中怎
 - 04-02c語(yǔ)言調(diào)用函數(shù)求fibo C語(yǔ)言調(diào)用函數(shù)求
 
隨機(jī)閱讀
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
 - 01-10C#中split用法實(shí)例總結(jié)
 - 01-10delphi制作wav文件的方法
 - 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
 - 04-02jquery與jsp,用jquery
 - 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
 - 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
 - 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
 - 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
 - 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
 


