程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++嵌套類的使用

C++嵌套類的使用

編輯:C++入門知識

C++嵌套類的使用


C++的嵌套類意思就是類中定義的類,它和外圍類的成員類似,也被相應的訪問權限修飾符修飾。
1 嵌套類可以直接方位外圍類中的static成員變量。
2 嵌套類可以通過引用,指針,或者對象來訪問外圍類的成員,不管該成員是public,private,protected。
3 嵌套類被private修飾的時候就不能在用戶代碼中被定義對象,因為是private的
4 外圍類對嵌套類的非public成員沒有訪問權限,對public成員具有訪問權限
5 外圍類不能直接訪問嵌套類的public靜態成員,必須加上限定符。


示例程序如下:
//QT.h
#ifndef	DDXX_QT_H
#define	DDXX_QT_H

class BA
{
	class SB;
public:
	BA();
	~BA();
	int	bc;
	static	int bd;
	void	funp(SB* pSb);
private:
	int ba;
	static	int	bb;


public:
	class SB
	{
	public:
		SB();
		~SB();
		int sa;
		static int sb;
		void	func(BA* pBa);
	private:
		int sc;
		static	int	sd;
		


	};
};

#endif
//QT.cpp
#include "QT.h"
#include 
using namespace std;

int	BA::bd = 12;
int	BA::bb = 13;
int	BA::SB::sb = 21;
int	BA::SB::sd = 23;
BA::BA()
{
	ba = 1;
	bc = 2;
}


BA::~BA()
{


}


void	BA::funp(BA::SB* pSb)
{
	pSb = new BA::SB();
	pSb->sa;
	pSb->sb;
	//pSb->sc;	//private
	//pSb->sd;	//private
	


	delete pSb;
	pSb = NULL;


}


BA::SB::SB()
{


}


BA::SB::~SB()
{


}


void	BA::SB::func(BA* pBa)
{


	cout<ba<bb<bc<bd<

//main.cpp

#include 
#include "QT.h"
using namespace std;


void main()
{
	BA T;
	T.funp(NULL);
	//BA::SB 當修飾符為private時候,不能被外部訪問
	BA::SB	Tb;
	Tb.func(NULL);
	
}



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved