最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

有關C++繼承與友元、繼承與類型轉換詳解

 更新時間:2017年01月10日 09:58:58   投稿:jingxian  
下面小編就為大家?guī)硪黄嘘PC++繼承與友元、繼承與類型轉換詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

實例如下:

#include <iostream> 

using namespace std; 

class a{
friend class pal;
private:
	int i;
protected:
	int j;
public:
	int k;
};

class b:public a{
protected:
	int l;
};

class c:protected a{};
class d:private a{};
class e:public b{};

class pal{
public:
	void f(a a1){
		cout<<a1.i;//正確,友元能訪問私有成員
	}
	void f1(b b1){
		cout<<b1.i;//正確,友元能訪問派生類的基類部分
		cout<<b1.l;//出錯,pal類不是b的友元
	}
};

class deri_pal:public pal{
public:
	void f2(a a1){
		cout<<a.i;//出錯,友元不能繼承
	}
};

int main() 
{	
	a a1;
	b b1;
	c c1;
	d d1;
	e e1;
	a1=b1;//正確,只有公共繼承的派生類才能向基類轉換
	a1=e1;//正確
	a1=c1;//出錯,只有公共繼承的派生類才能向基類轉換
	a1=d1;//出錯,只有公共繼承的派生類才能向基類轉換
	system("pause");
	return 0; 
} 

對基類指針進行動態(tài)綁定時,派生類必須是public派生而來,否則不能把基類指針綁定到派生類對象上

#include <iostream> 

using namespace std; 

class a{};
class b:public a{};
class c:protected a{};
class d:private a{};
class bb:public b{};
class cc:public c{};
class dd:public d{};




int main() 
{	
	a a1;b b1;c c1;d d1;bb bb1;cc cc1;dd dd1;
	a* a1=&b1;//ok
	a* a2=&c1;//error
	a* a3=&d1;//error
	a* a4=&bb1;//ok
	a* a5=&cc1;//error
	a* a6=&dd1;//error
	system("pause");
	return 0; 
} 

以上這篇有關C++繼承與友元、繼承與類型轉換詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

乡城县| 平潭县| 无锡市| 阿城市| 潼南县| 秭归县| 兴隆县| 南江县| 哈尔滨市| 静乐县| 岑溪市| 彰化市| 抚远县| 博罗县| 天全县| 肇源县| 汶上县| 从化市| 汶川县| 习水县| 宜川县| 定州市| 松桃| 衡水市| 政和县| 上饶市| 嵊州市| 黑龙江省| 南靖县| 逊克县| 阿勒泰市| 屯昌县| 怀远县| 塔城市| 武宣县| 襄城县| 五大连池市| 青海省| 崇左市| 清徐县| 汝州市|