亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ex18.cpp

?? c++代碼,來源于網上.c++代碼,來源于網上c++代碼,來源于網上.
?? CPP
字號:
	
      //第18章			組合和繼承

//[例18.1] CType內含int類型的引用型成員和const成員
	#include <stdio.h>  
    static int numc=0;
	class CType                              
	{  public:	
		CType(int x=1,int y=2);             //構造函數全部設置缺省值
		CType::~CType();	                 //析構函數
	   private:	  int   n; 	
       const	 int   c;                     // c是一個不變的數據成員
       public:	int&  r;                 //r是一個附屬的引用型數據成員       
   	};          //這個r既可以關聯私有成員n也可以關聯其它全局變量
	CType::~CType()	{  printf("%d.[n=%d,r=%d] CType::~CType();",numc--,n,r);  }
	CType::CType(int x,int y)          //兩個參數的構造函數定義
    :r(y),                         //引用型成員與一個堆棧空間的數值形參關聯!危險
    c(x)                          // const數據成員初始化為x帶入的初始值
	{ 	 n=x;                      //另一個普通數據成員初始化為x
		printf("%d. [n=%d,r=%d]  CType(int,int);",++numc,n,r);	
	}	
	CType g;                               //全局對象g缺省調用構造函數
	void main()
	{  	printf("Enter into main(){\n");		
		{	CType x(3,4);     //局部對象x調用構造函數
			printf("x.r=%d\n",x.r);	      
		}	                  //局部對象x生存期結束,編譯器在此調用析構函數
 	    printf("Go  outof main() }\n");
	}
 //[例18.2]嵌入類和組合類的對象生滅
	#include <stdio.h>  
     static int num=0;
	class CEmbed                               //嵌入類的聲明
	{   public:     int   n; 
		CEmbed(int ,int );                       
	    private:	int&  m_r;                //m_r是一個特殊的引用型數據成員
   	};                                   //引用型數據成員要求冒號語法初始化
	CEmbed::CEmbed(int x,int y)
     :m_r(n)                               //引用型成員m_r與成員變量n關聯 
	{   n=x;
		printf("%d.n=%d,CEmbed(int,int);",++num,n);	
	}	
    class CContain                             //包含類的聲明
	{   public:	CEmbed a;                    //嵌入對象成員
		CContain(int x=1,int y=2);                //缺省構造函數
	    private: const	 CEmbed b; 	         //嵌入const對象成員   
    };  
	CContain::CContain(int x,int y):b(y,y),a(x,x)    //構造函數冒號初始化語法
	{  //嵌入對象a(x,x)首先調用CEmbed(int ,int );然后 b(y,y)調用CEmbed(int ,int );	
	    printf("%d.a=%d,b=%d,CContain(int,int);\n",++num,a.n,b.n);	
	}	   
	void main()	   {	 CContain z(3,4); }//調用構造函數CContain(int,int)
//    輸出:1. n=3, CEmbed(int,int);2. n=4, CEmbed(int,int);3.a=3,b=4, CContain(int,int);
///[例18.3] B類公共地繼承A類,A類的公共成員是B類的公共成員
    #include <stdio.h>       // A類的保護成員是B類的保護成員
	class A	{  public:       long&  X() { return  x;}
	           protected:		long    x;	   };                         
	class B:public A {  public: B(){x=1;} 	};
	class C:public B {/* public:B::x;*/  	};// C類公共地繼承B類
	void main()     //在C類中可以通過 public:B::x;將保護成員改為公共的
	{ 	C b; 
	    long* p=&(b.X()+=1); //定義指針p,p指向保護的成員x,即p=&b.x
		printf("%d\n",*p);    // 但b.x導致對象在外部訪問保護成員是錯誤的。
   	}	//輸出: 2
   /// [例18.4] B類保護地繼承A類,A類保護的或公共的成員是B類的保護成員
    #include <stdio.h>    
	class A	{ 	protected:		long    x;	};                         
	class B: protected A{   public:	long&  X() { return  x;}	};
	class C: protected B {   public: B::X;  	}; //C類保護地繼承B類
	void main()  //public: B::X;界定成員的控制屬性優于繼承方式protected的控制屬性
	{ 	C b;   //public: B::X; 表示將基類中保護的成員在派生類中界定為public屬性
	    long* p=&(b.X()=1);    //定義指針p,p指向b.x
		printf("%d\n",*p);      //x在A和B類中是保護的,在C類中是保護的
   	}    //輸出: 1
  // [例18.5] B類私有地繼承A類,A類的公共的或保護的成員是B類的私有成員
   #include <stdio.h>        // A類的私有成員x不直接出現在派生類B的成員函數中
	class A	{   private:		long    x;	
	            public:   long&  X() { return  x;}  	};                         
	class B:  A{  public: long y; long& Y() { return  X();}	};
	class C:  private B { public: B::Y;	};// C類私有地繼承B類
	void main()      //public: B::Y;將基類中公共的成員在派生類中界定為public屬性
	{ 	C c;        // X是A類的公共成員是B類的私有成員
	    long* p=&(c.Y()=1);//c.y是錯誤的,y是B類的公共成員卻是C類的私有成員
		printf("%d\n",*p);// *p訪問基類的私有成員x或*p 是c.x的間接變量
   	}	//輸出: 1
   // [例18.6] B類保護地繼承A類, C類私有地繼承B類,
    #include <stdio.h>    
	class A	{ 	protected:		long    x;	};                         
	class B: protected A{   public:  	long&  operator+=(int n){ return  x+=n;}	};
	class C: private B {   public: B::operator+=;   public:B::x;	};
	void main()    // public: B::operator+=;表示這個成員函數在C類中是公共的。
	{ 	C b;b.x=1; //public: B::x; 表示將基類中保護的成員在派生類中界定為public屬性。
	    long* p=&(b+=2);// b+=2調用基類的成員函數B::operator+=
		printf("%d,%d\n",*p,b.x); //x在A和B類中是保護的,在C類中是公共的
   	}   //輸出: 3,3

//[例18.7]基類和嵌入對象的初始化
	#include <stdio.h>  
	struct SData{long nx;long ny;};            //此結構用于作為初始化的源數據
	typedef struct tagPOINT {long  x; long  y;} POINT;//標準的Windows點結構聲明
	class CPoint : public tagPOINT                //MFC類庫的CPoint類的聲明
	{                                           //僅保留兩個構造函數
		public:CPoint(){}                          //缺省構造函數
		CPoint(POINT initPt){x=initPt.x;y=initPt.y;}    //單參數構造函數
	};
	class CBase
	{	public:	CBase(){}                      //公共的缺省構造函數
			~CBase(){delete [] m_p;}             //析構函數
    protected:
		CBase(SData* pData)                    //保護的單參數構造函數
		{	m_n=pData->nx;                     //此函數由派生類的構造函數調用
	        m_p=new long [m_n];
		}
	    void Line(){for(int j=0;j<m_n;j++) m_p[j]=j;}
	protected: long  m_n;                          //數組的維數
       long* m_p;                               //定位數組的起點
	};   
   	class CDerived:public CBase                   //公共地繼承基類的屬性
	{   	public:	CDerived( SData* pData,CPoint pt);           //雙參數的構造函數
		CDerived(){}                          //缺省構造函數
			~CDerived(){delete [] m_p;}             //析構函數
            void Line();		                    //畫線的函數
			void Show();
	protected:  	  CPoint m_pt;                  //嵌入對象m_pt
	   long   m_n;       long*  m_p;     
	};   
	CDerived::CDerived(SData* pData,CPoint pt):CBase(pData),m_pt(pt)
	{                       //調用基類的構造函數,和嵌入對象的構造函數  
     m_n=pData->ny;  	 m_p=new long [m_n];	
	}
    void CDerived::Line()
	{    CBase::Line();
		for(int j=0;j<m_n;j++)	    m_p[j]=j;	   
	}	
   	void CDerived::Show()
	{   Line();
	   long sumx=0;long sumy=0;int k;
	  for( k=0;k<CBase::m_n;k++) sumx+=CBase::m_p[k];
	  for( k=0;k<m_n;k++) sumy+=m_p[k];
	  printf("{nx,ny}={%d,%d};",CBase::m_n,m_n);
      printf("sumx=%d,sumy=%d,m_pt={%d,%d}\n",sumx,sumy,m_pt.x,m_pt.y);
	}
	void main()
	{   SData  d={4,5};              //結構變量采用集合類的初始化語法
	    POINT  pt={60,70};            
	    CPoint cpt(pt);                  //對象采用構造函數的初始化語法
		CDerived obj(&d,cpt);            //obj調用構造函數CDerived(SData*,CPoint )
		(&obj)->Show();
	} //輸出:{nx,ny}={4,5};sumx=6,sumy=10, m_pt={60,70}






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜欧美大尺度福利影院在线看| 国产网红主播福利一区二区| 91免费观看在线| 麻豆一区二区三| 午夜精品爽啪视频| 亚洲18色成人| 视频一区二区三区入口| 五月天国产精品| 蜜桃视频一区二区| 狠狠色综合日日| 狠狠色丁香婷综合久久| 99精品国产一区二区三区不卡| 国产高清亚洲一区| 不卡影院免费观看| 色乱码一区二区三区88| 欧美视频完全免费看| 欧美日韩高清在线播放| 欧美v国产在线一区二区三区| 日韩三级视频中文字幕| 久久精品人人做人人爽人人| 国产精品久久看| 亚洲影院在线观看| 秋霞影院一区二区| 国产不卡在线播放| 欧美日韩国产首页| 国产夜色精品一区二区av| 亚洲日本一区二区| 全国精品久久少妇| av一二三不卡影片| 欧美久久久一区| 国产欧美精品在线观看| 亚洲在线免费播放| 国产精品香蕉一区二区三区| 99精品视频一区二区| 91麻豆精品国产综合久久久久久| 精品国产乱码久久久久久浪潮| 国产精品欧美久久久久一区二区 | 天天av天天翘天天综合网色鬼国产| 紧缚奴在线一区二区三区| 成人一级视频在线观看| 欧美私模裸体表演在线观看| 精品国产伦一区二区三区免费| 国产精品麻豆网站| 免费人成精品欧美精品| 91在线播放网址| 日韩欧美电影一二三| 亚洲精品国产无天堂网2021| 国内久久精品视频| 在线播放欧美女士性生活| 国产精品第五页| 国产综合色在线视频区| 欧美喷潮久久久xxxxx| 国产精品久久久久久久久免费相片| 日韩av电影一区| 日本精品视频一区二区三区| 久久精品视频一区二区| 久久不见久久见免费视频1| 欧美在线一二三| 国产精品国产精品国产专区不片| 日本vs亚洲vs韩国一区三区| 欧洲精品中文字幕| 自拍偷拍国产精品| 成人短视频下载| 久久综合色婷婷| 伦理电影国产精品| 欧美成人精品高清在线播放 | 久久精品国产99国产精品| 91成人看片片| 亚洲另类春色国产| 色婷婷国产精品综合在线观看| 中文字幕av资源一区| 国产毛片一区二区| 国产欧美日韩在线| 成人毛片在线观看| 国产精品成人免费精品自在线观看 | 国产色综合一区| 黄色日韩网站视频| 久久综合五月天婷婷伊人| 久草中文综合在线| 久久无码av三级| 国产精品91xxx| 国产精品福利一区| 色悠悠久久综合| 亚洲男人都懂的| 欧美日韩国产不卡| 久久精品国产精品亚洲综合| 欧美成人一区二区三区片免费| 乱中年女人伦av一区二区| 2017欧美狠狠色| 99久久精品免费精品国产| 玉足女爽爽91| 欧美肥妇毛茸茸| 国产一区二区三区国产| 国产精品天天看| 色诱亚洲精品久久久久久| 水蜜桃久久夜色精品一区的特点| 欧美一区二区三区思思人| 久久精品国产99久久6| 日本一区二区三区dvd视频在线| av福利精品导航| 亚洲成人一二三| 国产日韩欧美在线一区| 91麻豆免费在线观看| 石原莉奈在线亚洲二区| 国产亚洲精品aa午夜观看| 欧美在线不卡一区| 国产一区视频网站| 亚洲激情校园春色| 7777精品伊人久久久大香线蕉超级流畅| 蜜桃视频在线观看一区二区| 国产精品久久久久久久久搜平片 | 7777精品伊人久久久大香线蕉超级流畅 | 99精品热视频| 丝袜美腿一区二区三区| 国产午夜一区二区三区| 欧美最猛黑人xxxxx猛交| 久久99国产精品尤物| 亚洲精品水蜜桃| 日韩精品一区二区在线| 99久久精品久久久久久清纯| 三级在线观看一区二区 | 91黄视频在线观看| 精品一区二区av| 亚洲大片在线观看| 国产精品每日更新| 欧美videos中文字幕| 欧美性videosxxxxx| www.欧美色图| 国产在线一区二区| 亚洲国产精品嫩草影院| 中文字幕精品一区二区精品绿巨人 | 欧美剧情片在线观看| 成人国产精品视频| 激情国产一区二区| 婷婷综合在线观看| 一区二区三区四区中文字幕| 久久欧美中文字幕| 欧美精品少妇一区二区三区| 91看片淫黄大片一级| 国产98色在线|日韩| 久久黄色级2电影| 欧美aⅴ一区二区三区视频| 亚洲欧美日韩国产成人精品影院 | 精品久久久久久久一区二区蜜臀| 欧美性色aⅴ视频一区日韩精品| 99re热视频这里只精品| 成人国产免费视频| 丁香六月久久综合狠狠色| 国产一区二区三区精品视频| 经典三级在线一区| 国内精品免费在线观看| 久久精品国产免费看久久精品| 日韩中文欧美在线| 日日夜夜免费精品| 视频精品一区二区| 秋霞电影网一区二区| 亚洲www啪成人一区二区麻豆 | 欧美日韩国产免费| 欧美日本精品一区二区三区| 欧美美女激情18p| 欧美一区二区大片| 欧美一区二区免费| 精品三级在线观看| 国产日韩高清在线| 一区精品在线播放| 一区二区三区日韩欧美| 三级欧美韩日大片在线看| 免费在线观看日韩欧美| 国产综合成人久久大片91| 国产成人免费视频一区| caoporm超碰国产精品| 色天使久久综合网天天| 在线免费观看视频一区| 日韩一区二区在线看| 久久精品人人做人人爽97| 中文字幕欧美国产| 亚洲成人自拍网| 久久国产日韩欧美精品| av不卡一区二区三区| 欧美日韩视频在线第一区| 欧美一区二区精美| 国产精品久久久久婷婷| 舔着乳尖日韩一区| 国产精品 日产精品 欧美精品| 色综合天天性综合| 日韩欧美国产小视频| 中文字幕一区二区三区视频| 性做久久久久久久免费看| 国产精品69久久久久水密桃| 欧洲精品在线观看| 久久精品视频一区二区| 亚州成人在线电影| 成人av在线电影| 日韩欧美国产麻豆| 亚洲毛片av在线| 国产剧情av麻豆香蕉精品| 欧美探花视频资源| 国产精品嫩草影院av蜜臀| 日韩成人一区二区三区在线观看| 成人免费视频播放|