没有合适的资源?快使用搜索试试~ 我知道了~
C++嵌套类与局部类详细解析
0 下载量 167 浏览量
2020-09-05
01:13:38
上传
评论
收藏 48KB PDF 举报
温馨提示
试读
2页
从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的作用域使用该类名时,需要加名字限定
资源推荐
资源详情
资源评论
C++嵌套类与局部类详细解析嵌套类与局部类详细解析
从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类之外的作用域使
用该类名时,需要加名字限定
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;
}
};
资源评论
weixin_38542148
- 粉丝: 4
- 资源: 939
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功