当前位置: 编程技术>c/c++/嵌入式
C++嵌套类与局部类详细解析
来源: 互联网 发布时间:2014-10-19
本文导语: 1. 嵌套类外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的...
1. 嵌套类
外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。
从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的作用域使用该类名时,需要加名字限定。
嵌套类中的成员函数可以在它的类体外定义。
嵌套类的成员函数对外围类的私有成员没有访问权,反之亦然。
嵌套类仅仅只是语法上的嵌入。
2. 局部类
类也可以定义在函数体内,这样的类被称为局部类(loacl class)。局部类只在定义它的局部域内可见。
局部类的成员函数必须被定义在类体中。
局部类中不能有静态成员函数。
在实践中,局部类很少使用。
下面给出一段代码来说明:
代码如下:
#include
using namespace std;
class Outer
{
public:
class Inner
{
public:
void Fun();
};
public:
Inner obj_;
void Fun()
{
cout