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

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

?? ex24.cpp

?? c++代碼,來源于網上.c++代碼,來源于網上c++代碼,來源于網上.
?? CPP
字號:

        //第24章     名稱空間和嵌套類

//[例24.1]名稱空間是一個獨立的全局命名區域
	#include<stdio.h>	
    namespace NName                     
    {  struct CType  { long  f(); long m_l;};//聲明一個結構類型,名稱為CType 
		 typedef long type;                  //聲明一個long的別名type  
		 type funct(CType&);               //全局函數原型說明    
		 long  CType::f() {  return m_l;}     //成員函數的體內定義    
		 CType*  pobj;                    //定義一個全局對象指針 
		 type v;                           //定義一個long型的全局變量v
		 CType  obj;                      //定義一個全局對象obj
   }                                      
	NName::type NName::funct(CType& r)     //全局函數的體外定義
	{    r.m_l=10;
		type  n=r.m_l+10;		
		return n;
	}   
	void main(void)
	{	NName::pobj=&NName::obj;        
		NName::v=NName::funct(NName::obj);
		printf("NName::v=%d,obj.m_l=%d\n",NName::v,NName::pobj->f());
	}     //輸出結果: NName::v=20,obj.m_l=10
//[例24.2]using聲明語句簡化索引名稱的方式
	#include<iostream>	
    namespace NName                     
    {   struct CType  { long  f(); long m_l;}; 
		 typedef long type;                    
		 type funct(CType&r)               //全局函數在名稱空間體內定義
         {  r.m_l=10;	return r.m_l+10; }                     
		 CType*  pobj; 
		 type v;
		 CType  obj;
   }     
    long  NName::CType::f() {  return m_l;}   //成員函數在名稱空間的體外定義
	using namespace NName;  
	using namespace std;
	void main(void)
	{	pobj=&obj;        
		v=funct(obj);
		cout<<"v="<<v<<",obj.m_l="<<pobj->f()<<endl;
	}     //輸出結果: v=20,obj.m_l=10
//[例24.3]將說明語句放置在頭文件的名稱空間布局
	#include<iostream>	
    #include"x.h"
	using  B::obj;
	void main(void)
	{  	B::pobj=&obj;  
	    using  B::funct;  
		B::v=funct(obj);
		 using namespace std;
		cout<<"v="<<B::v<<",obj.m_l="<<B::pobj->f()<<endl;
	}   //輸出結果: v=20,obj.m_l=10
	namespace B                     
    {	long funct(A&r){  r.m_l=10;	return r.m_l+10; }  
		long  A::f()   {  return m_l;}   	
		 A*  pobj; 
		 long v;
		 A  obj;
   }
//    在頭文件x.h建立的名稱空間
    namespace B                     
    {   union A  { long  f(); long m_l;}; 
		 long funct(A&r); 
		 extern 	 A*  pobj; 
		 extern  long  v;
		 extern  A  obj;
	}

namespace X   {  long m=1;	}   //相當于定義全局變量long X::m=1;
	using  namespace X;
    namespace Y 
	{	long n=m+1;          //相當于long Y::n= X::m+1;
	    long k=X::d;          //error  'd' : is not a member of 'X',undeclared identifier
	}                       // X::d此時尚不存在
    namespace X   {  long d=3;	}   //定義另外一個全局變量long X::d=3;
	void f(void)	  {  d=4;		}      //此時可以有效的索引全局變量X::d
//[例24.4]名稱空間的隱約索引不應構成歧義
    #include<stdio.h>	
    namespace C 
	{ 	long f( int n)    {  printf("C::f(int);");     return n;     }
		long f( double n) {  printf("C::f(double);");  return (long)n;}
	}  
	namespace D 
	{ 	long f( int n)     {  printf("D::f(int);");   return n; }
		long f( char n)   {  printf("D::f(char);");  return n; }
	}  
	void main()
	{	using C::f;     //導出一對重載函數C::f(double), C::f(int)
		using D::f;     //導出一對重載函數D::f(char),   D::f(int)
	    printf("C::f=%d,D::f=%d--",f('a'+1.0),f('a'));
		printf("C::f=%d,D::f=%d\n",C::f(98),D::f(97));
	}///輸出:D::f(char);C::f(double);C::f=98,D::f=97--D::f(int);C::f(int);C::f=98,D::f=97
//[例24.5]嵌套名稱空間的訪問
	    namespace  OutName                          //namespace 外層名稱空間名
    {   struct  SA { float x;};                     //{    外層類型聲明語句;
       long   funct(long x);                         //   外層函數原型說明語句;
       SA      s[]={1,2};                            // 外層變量定義語句;
       namespace  InName                           // namespace  內層名稱空間名
       {                                           // {
        double x=s[0].x;                            //    內層變量定義語句;
        float  fv(void) { return s[1].x; }          //         內層函數定義
       }                                            // }
       long   funct(long x){return InName::fv()+x;}        //外層的函數定義
    }                                             }

    #include<stdio.h>	
	void main()
	{	using OutName::InName::fv;
	    printf("OutName::InName::x=%f,f()=%f\n",OutName::InName::x,fv());
		using namespace OutName;
        printf("OutName::s[]={%f,%f}\n",s[0].x,s[1].x);
	}
    //[例24.6]名稱空間的別名簡化代碼的書寫量
    namespace  OutName                  
	{  struct  SA { float x;} s[]={1,2}; 
		namespace  InName
		{	double x=s[0].x;                             
		    float  fv(void) { return s[1].x; }                      
		}      
	}      
    #include<stdio.h>	                                 
 	void main()
	{   namespace  InN=OutName::InName;
	    printf("InN::x=%f,f()=%f\t",InN::x,InN::fv());
	    namespace Out=OutName;
		printf("Out::s[]={%f,%f}\n",Out::s[0].x,Out::s[1].x);
	}
   //[例24.7] 無名的名稱空間的內部屏蔽作用
   // a.cpp文件如下
	namespace 
	{	class CType                          
		{ 	public:	 static  int num;                
		                   int m_n;
		};
		int a_n=1;
		int f(){  return CType::num; }
		int CType::num=2;
		CType obj={3};
	}
	int ga(){ return  a_n+f()+obj.m_n;}
    b.cpp文件如下:
	namespace 
	{	class CType   { 	public:	 static  int num;   int m_n;};
		int b_n=10;
		int f(){  return CType::num; }
		int CType::num=20;
		CType obj={30};
	  	int fb(){return b_n+f()+obj.m_n;}
	}
	 int gb(){return b_n+f()+obj.m_n;}
    //c.cpp文件中的代碼如下:
	#include<stdio.h>	
	extern int gb();  	extern int ga();  	extern int fb();
	void main()
	{	printf("a.cpp=>%d,b.cpp=>%d\n",ga(),gb());
        //printf("b.cpp=>%d\n",fb());
	    // Linking...c.obj : error LNK2001: 
        //unresolved external symbol "int __cdecl fb(void)"   		(?fb@@YAHXZ)
	}   //程序輸出結果為: a.cpp=>6,b.cpp=>60
//[例24.8] 嵌套類和外圍類
	#include<stdio.h>
	class COuter  
	{	public: int m_b;	float any;
		  COuter(int n=1) {m_b=n;printf("%d.COuter::COuter()this=%p\t",m_b,this);}
		 ~COuter (){printf("COuter::~COuter()sizeof(COuter)=%d\n",sizeof(COuter));}
			 int Show();
		private:
		friend void fnest();                  //友元函數fnest的引入旨在破除私有的界限
		class CNested                      //嵌套類具有私有訪問控制屬性
		{  public:                         //嵌套類本身的成員是公共的
    		int m_c;  
		  CNested(int n=2)                  //構造函數和析構函數內聯定義
			{m_c=n;printf("%d.CNested::CNested() this=%p\t",m_c,this);}
		 ~CNested()
	      {printf("CNested::~CNested()sizeof(CNested)=%d\n",sizeof(CNested));}	
	     int Show();	                      //聲明一個嵌套類成員函數
		};
		public:
	    static	COuter  Outer(int k);       //返回外圍類對象的靜態成員函數Outer
	    static	CNested Nested(int k);       //返回嵌套類對象的靜態成員函數Nested
	};
    int COuter::Show()
	{     printf("COuter::Show() this= %p\n",this);
          return 1;
    }
	int COuter::CNested::Show()              //嵌套類成員函數的全局范圍定義
	{  ////COuter::Show();////error 'COuter::Show' : illegal call of non-static member function
		printf("CNested::Show()this=%p\n",this);
		return 0;
	}
	COuter COuter::Outer(int k) {return COuter(k);}//靜態成員函數的定義	
	COuter::CNested COuter::Nested(int k)     //靜態成員函數COuter::Nested的定義
	{	                                 //返回嵌套類的COuter::CNested對象
        return CNested(k);	                 //顯式調用嵌套類的構造函數
	}
	void fnest()                            //外圍類的全局友元函數 
	{                                    //定義COuter::CNested 嵌套類對象nested 
	 COuter::CNested nested(COuter::Nested(2)); // nested用函數COuter::Nested初始化
	 nested.Show();
	}
	void main()                     //定義外圍類的對象outer
	{ COuter  outer=COuter::Outer(1);  //outer用靜態成員函數COuter::Outer初始化 
	 outer.Show();              	 fnest();
	}
//[例24.9] 友元函數和嵌套類
	#include<stdio.h>
    struct CTop
    {    int m_c;
		CTop(int n){m_c=n;printf("CTop::CTop()this=%p\n",this);}
		int  Show(){printf("%d.CTop::Show() this=%p\n",m_c,this);return 0;}
    };
   class COuter  
   {    public:	COuter (int n=1){m_b=n;}
		class CNested:public CTop 
		{	 public:	 
			CNested(int n=2):CTop(n)
				{printf("CNested::CNested() this=%p\n",this);}			 		
			 int Show(COuter& r);	 
		};
		friend int CNested::Show(COuter& r);
		protected:  int m_b;
    };
   	int COuter::CNested::Show(COuter& r)
	{	CTop::Show();
		printf("CNested::Show(COuter& r=%d,&r=%p)\n",r.m_b,&r);
		return 0;
	}
     void main()
	 {	 COuter::CNested nested(10);
		 COuter outer(20);			 
		 nested.Show(outer);		
	 }






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品亚洲日本在线桃色 | 国产精品成人一区二区艾草 | 91老司机福利 在线| 欧美三级日韩三级| 亚洲国产高清在线观看视频| 视频一区在线播放| 91丨国产丨九色丨pron| 久久精品夜夜夜夜久久| 婷婷六月综合亚洲| 色美美综合视频| 国产视频911| 激情综合亚洲精品| 欧美日韩中文另类| 亚洲免费在线视频| 成+人+亚洲+综合天堂| 久久综合久久综合九色| 蜜桃久久精品一区二区| 欧美日韩精品一区二区三区| 亚洲人成伊人成综合网小说| 成人动漫av在线| 久久亚洲私人国产精品va媚药| 日韩成人精品在线| 欧美一区二区三区影视| 亚洲一卡二卡三卡四卡五卡| 99热这里都是精品| 国产精品免费观看视频| 国产成人亚洲精品狼色在线| 久久综合九色综合97_久久久| 久久99热国产| 精品久久五月天| 九色综合狠狠综合久久| 日韩欧美123| 国产v综合v亚洲欧| 久久―日本道色综合久久| 精品一区二区综合| 久久美女艺术照精彩视频福利播放| 国产一区欧美日韩| 久久久精品免费免费| 丁香婷婷综合色啪| 中文字幕一区二区三区色视频| 9色porny自拍视频一区二区| 国产精品久久久久久久岛一牛影视 | 韩国av一区二区三区| 精品sm在线观看| 国产成人av电影在线观看| 国产人成一区二区三区影院| 不卡视频免费播放| 亚洲精品国产成人久久av盗摄| 91九色最新地址| 日本vs亚洲vs韩国一区三区| 日韩免费看的电影| 国产成人午夜99999| 国产精品成人一区二区艾草| 色狠狠桃花综合| 免费精品视频在线| 国产精品毛片高清在线完整版| 色综合天天综合网天天狠天天| 亚洲国产成人av好男人在线观看| 欧美大尺度电影在线| 大胆亚洲人体视频| 五月综合激情网| 国产精品私人自拍| 欧美日韩精品是欧美日韩精品| 麻豆精品一二三| 国产精品美女久久福利网站| 欧美午夜一区二区| 国产精品99久| 香蕉成人伊视频在线观看| 久久久久亚洲蜜桃| 欧美日韩亚洲综合在线| 国产盗摄一区二区| 五月天激情小说综合| 国产视频一区在线观看| 在线成人av网站| 不卡一二三区首页| 秋霞电影网一区二区| 综合久久久久综合| 久久新电视剧免费观看| 色88888久久久久久影院野外| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区国产精华| 久久久五月婷婷| 欧美一卡二卡在线| 91搞黄在线观看| jiyouzz国产精品久久| 久久激五月天综合精品| 亚洲妇熟xx妇色黄| 中文字幕一区二区三区不卡在线 | 国产偷国产偷精品高清尤物| 欧美日韩和欧美的一区二区| 99视频超级精品| 国产在线播精品第三| 日韩成人免费电影| 亚洲一区二区三区自拍| 国产精品国产三级国产普通话99| 欧美一二三四区在线| 欧美日韩久久一区| 欧洲一区二区三区免费视频| 99精品黄色片免费大全| 国产精品一区二区在线观看不卡| 麻豆精品在线播放| 日韩电影免费一区| 视频一区国产视频| 午夜欧美视频在线观看| 一区二区免费在线播放| 最近日韩中文字幕| 国产精品美女久久久久久| 国产亚洲精品中文字幕| 久久综合资源网| 欧美大白屁股肥臀xxxxxx| 91 com成人网| 日韩欧美国产电影| 精品日韩欧美在线| 日韩一级片在线观看| 日韩你懂的在线观看| 日韩色在线观看| 精品免费视频.| 精品美女被调教视频大全网站| 欧美变态tickling挠脚心| 日韩欧美一二三区| 久久久久综合网| 中文字幕第一区综合| 最好看的中文字幕久久| 1区2区3区国产精品| 自拍偷拍亚洲欧美日韩| 亚洲精品伦理在线| 亚洲二区在线视频| 青青草原综合久久大伊人精品优势| 男男视频亚洲欧美| 国产乱人伦偷精品视频免下载| 国产91色综合久久免费分享| 成人精品高清在线| 欧美专区在线观看一区| 91麻豆精品国产综合久久久久久| 精品少妇一区二区三区在线视频 | 国产盗摄女厕一区二区三区| 成人av在线网站| 日本韩国精品在线| 91精品国产丝袜白色高跟鞋| 欧美精品一区二区三区一线天视频 | 成人av资源站| 欧美亚一区二区| 精品国产一区a| 自拍偷拍亚洲综合| 免费黄网站欧美| 成人18视频日本| 69p69国产精品| 国产精品污网站| 香蕉久久夜色精品国产使用方法| 精一区二区三区| 日本韩国欧美三级| 精品粉嫩超白一线天av| 亚洲码国产岛国毛片在线| 日日噜噜夜夜狠狠视频欧美人| 国产精品资源在线看| 欧美影视一区二区三区| 久久综合久久久久88| 亚洲午夜电影在线观看| 国产黄色精品网站| 欧美精品一二三区| 国产精品三级av| 美女视频黄免费的久久| 在线免费观看一区| 久久精品夜夜夜夜久久| 日日夜夜精品视频天天综合网| 成人精品在线视频观看| 日韩一级免费一区| 亚洲综合免费观看高清完整版 | 人人狠狠综合久久亚洲| 91色视频在线| 欧美激情自拍偷拍| 九九精品视频在线看| 欧美日韩中文精品| 亚洲男人的天堂在线观看| 国产精品一二三| 日韩色在线观看| 偷拍自拍另类欧美| 在线亚洲欧美专区二区| 中文字幕中文字幕一区| 精品一区二区免费看| 欧美区视频在线观看| 亚洲综合图片区| 91伊人久久大香线蕉| 国产精品久久久久久亚洲毛片 | 亚洲国产高清aⅴ视频| 久久精品国产亚洲高清剧情介绍 | 欧洲日韩一区二区三区| 日本一区二区视频在线| 国产乱淫av一区二区三区| 欧美成人免费网站| 久久成人久久鬼色| 精品人在线二区三区| 日本成人在线看| 91精品一区二区三区在线观看| 亚洲福利一区二区三区| 欧美自拍丝袜亚洲| 亚洲成人久久影院| 欧美美女一区二区| 日本不卡一二三| 2020国产精品|