嵌套类
一、 嵌套类
嵌套类的定义
将某个类的定义放在另一个类的内部,这样的类定义,叫嵌套类。
class AAA
{ int aaa;
class BBB
{ int bbb;
//其它成员或者函数
};
BBB b;
public:
AAA(void);
~AAA(void);
};
类AAA称为封装类,类BBB称为嵌套类。
二、嵌套类访问级别测试
、封装类访问嵌套类成员。
、封装类指针访问封装类成员测试。
、封装类通过友元访问嵌套类成员测试。
三、嵌套类实例化对象 四、作业
尝试定义一个三层嵌套类成员的访问测试。 class AAA
{ int aaa;
class BBB
{ int bbb;
class CCC
{
int ccc;
//其它成员
};
//其它成员
CCC *c;
};
BBB *b;
public:
AAA(void);
~AAA(void);
};
声明嵌套类
#pragma once class A
{
public:
class B
{
friend A;
public: int b;
void showB(void)
{
printf("BBB");
}
};
B *pb;
A(void);
~A(void);
};
在A类的构造函数中访问嵌套类B的成员
#include "StdAfx.h"
#include "A.h" A::A(void)
{
this->B::b; //访问嵌套的方式
// this->B::b; 不能这样写A::B::b
pb->b;
} A::~A(void)
{
}
在A的实例对象中访问嵌套类成员
#include "stdafx.h"
#include "A.h" int _tmain(int argc, _TCHAR* argv[])
{
A aa;
aa.pb->showB();
aa.B::b;
// aa.B::showB();
return ;
}