手机
当前位置:查字典教程网 >编程开发 >C语言 >C++嵌套类与局部类详细解析
C++嵌套类与局部类详细解析
摘要:1.嵌套类外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。从作用域的角度看,嵌套类被隐...

1. 嵌套类

外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。

从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的作用域使用该类名时,需要加名字限定。

嵌套类中的成员函数可以在它的类体外定义。

嵌套类的成员函数对外围类的私有成员没有访问权,反之亦然。

嵌套类仅仅只是语法上的嵌入。

2. 局部类

类也可以定义在函数体内,这样的类被称为局部类(loacl class)。局部类只在定义它的局部域内可见。

局部类的成员函数必须被定义在类体中。

局部类中不能有静态成员函数。

在实践中,局部类很少使用。

下面给出一段代码来说明:

复制代码 代码如下:

#include<iostream>

using namespace std;

class Outer

{

public:

class Inner

{

public:

void Fun();

};

public:

Inner obj_;

void Fun()

{

cout<<"Outer::Fun...."<<endl;

obj_.Fun();

}

};

void Outer::Inner::Fun()

{

cout<<"Inner::Fun..."<<endl;

}

void Fun()

{

class LocalClass

{

public:

int num_;

void Init(int num)

{

num_=num;

}

void Display()

{

cout<<"num_"<<num_<<endl;

}

};

LocalClass lc;

lc.Init(10);

lc.Display();

}

int main()

{

Outer o;

o.Fun();

Outer::Inner i;

i.Fun();

Fun();

return 0;

}

运行结果:

C++嵌套类与局部类详细解析1

【C++嵌套类与局部类详细解析】相关文章:

二叉搜索树的插入与删除(详细解析)

浅谈C++日志系统log4cxx的使用小结详解

C++之异常处理详解

解析c++中参数对象与局部对象的析构顺序的详解

成员函数的重载、覆盖与隐藏详细解析

C++中一维数组与指针的关系详细总结

基于C++执行内存memcpy效率测试的分析

指针与const限定符的使用分析

C++ new/delete相关知识点详细解析

C++ 在堆上开辟与释放二维、三维指针详细解析

精品推荐
分类导航