欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

實例如下:

#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;//正確,只有公共繼承的派生類才能向基類轉(zhuǎn)換
	a1=e1;//正確
	a1=c1;//出錯,只有公共繼承的派生類才能向基類轉(zhuǎn)換
	a1=d1;//出錯,只有公共繼承的派生類才能向基類轉(zhuǎn)換
	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; 
} 

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

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有