标签:c++嵌套类
C++的嵌套类意思就是类中定义的类,它和外围类的成员类似,也被相应的访问权限修饰符修饰。#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 <iostream>
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<<bb<<endl;
cout<<bd<<endl;
pBa = new BA();
cout<<pBa->ba<<endl;
cout<<pBa->bb<<endl;
cout<<pBa->bc<<endl;
cout<<pBa->bd<<endl;
delete pBa;
pBa = NULL;
}//main.cpp
#include <iostream>
#include "QT.h"
using namespace std;
void main()
{
BA T;
T.funp(NULL);
//BA::SB 当修饰符为private时候,不能被外部访问
BA::SB Tb;
Tb.func(NULL);
}标签:c++嵌套类
原文地址:http://blog.csdn.net/ddupd/article/details/43275093