亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

有關(guān)C++繼承與友元、繼承與類型轉(zhuǎn)換詳解

 更新時(shí)間:2017年01月10日 09:58:58   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇有關(guān)C++繼承與友元、繼承與類型轉(zhuǎn)換詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

實(shí)例如下:

#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;//出錯(cuò),pal類不是b的友元
	}
};

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

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

對(duì)基類指針進(jìn)行動(dòng)態(tài)綁定時(shí),派生類必須是public派生而來(lái),否則不能把基類指針綁定到派生類對(duì)象上

#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; 
} 

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

相關(guān)文章

最新評(píng)論