C++嵌套类(内部类与外部类)
在一个类中定义的类被称为嵌套类,定义嵌套类的类被称为外部类。对类进行嵌套通常是为了帮助实现另一个类,并避免名称冲突。
class queue
{
private:
struct Node{ Item item;struct Node *next };
...
};
- 作用域
class team
{
public
struct Coach{...};
...
};
| 声明位置 | 包含它的类是否可以使用它 | 从包含它的类派生下来的类是否可以使用它 | 外部是否可以使用它 | 
| 公有 | 是 | 是 | 是 | 
| 私有 | 是 | 否 | 否 | 
| 保护 | 是 | 是 | 否 | 
- 访问权限
- 代码测试
class test
{
public:
test()
{
i = 10; //不能访问
mytest::i = 10;//不能访问
}
private:
class mytest
{
int i;
int j;
};
};
class test
{
public:
test()
{
cc.i = 10; //通过对象可以访问,如果i为私有则不可访问
}
private:
class mytest
{
public:
int i;
int j;
};
mytest cc;
};
C++嵌套类(内部类与外部类)的更多相关文章
- Java嵌套类,内部类和外部类
		1.嵌套类,内部类 嵌套类是指被定义在一个类内部的类: JAVA的嵌套类有很多种类:1.静态成员类:2.非静态成员类:3.匿名类:4.局部类:其中,除了静态成员类之外,其他的都是内部类,因为静态成员类 ... 
- 【转】C++之内部类(嵌套类)与外部类及友元
		[转]http://baike.baidu.com/link?url=Md223wQoT5s-3cZ5xRnj1pGmvm310DKAuh-HDrcEdc2l24rwobHrdEc_Mi4Z3BGP0 ... 
- C++之内部类(嵌套类)与外部类及友元
		本人能力.精力有限,所言所感都基于自身的实践和有限的阅读.查阅,如有错误,欢迎拍砖,敬请赐教——博客园:钱智慧. 先上代码: class Outer { public: Outer(){m_outer ... 
- C++之内部类(内部类就是外部类的友元类,单向友元。只是内部类比友元类多了一点权限)
		1. 内部类的概念 如果一个类定义在另一个类的内部,这个内部类就叫做内部类.注意此时这个内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去调用内部类.外部类对内部类没有任何优越的访问权限. ... 
- java 编程基础  Class对象 反射 :获取类的构造方法,方法,成员变量,内部类,外部类,父类,实现的接口,修饰符等...
		类 Class 每个类被加载之后,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类. 我们在Java中获取Class对象一般有三种方式: (1), 使用C ... 
- java内部类 和外部类的区别
		java 内部类和静态内部类的区别 详细连接https://www.cnblogs.com/aademeng/articles/6192954.html 下面说一说内部类(Inner Class)和 ... 
- Java内部类与外部类的那些事
		昨天去笔试的时候遇到了Java的内部类的创建方式与访问权限的问题,我不懂,没写,故今天起来特意去试验一下,就有了这篇总结性的文章. Java中的内部类又分为非静态内部类(匿名内部类也是非静态的内部类) ... 
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
		内部类访问外部类的变量必须是final吗? 如下: package com.java.concurrent; class A { int i = 3; public void shout() { cl ... 
- java内部类和外部类
		1.使用static可以声明一个内部类, 可以直接在外部调用 class Outer{ // 定义外部类 private static String info = "hello world& ... 
随机推荐
- CSIC_716_20191101【编程语言、变量、垃圾回收机制】
			编程语言分类:机器语言.汇编语言.高级语言. 机器语言:机器能直接识别的程序语言或指令代码(二进制指令),勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它 汇编语言:比机器语言略高级,用英文 ... 
- not registered via @EnableConfigurationProperties or marked as Spring component
			利用@ConfigurationProperties(prefix = "")来绑定属性时报错: not registered via @EnableConfigurationPr ... 
- CSS——优雅降级和渐进增强
			什么是渐进增强(progressive enhancement).优雅降级(graceful degradation)呢? 渐进增强 progressive enhancement: 针对低版本浏览器 ... 
- 解决Delphi 2010启动时卡死并报displayNotification堆栈溢出错误
			1. 清理IE的历史记录,删除浏览器缓存(不需要清cookie) 2. 禁用startpage 2.1 从 Delphi 2010 启动菜单上点右键 -> 查看属性->快捷方式->目 ... 
- C++在#include命令中,用〈 〉和“”有什么区别
			使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找: 使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找. 
- linux安装splunk-enterprise
			一.介绍 Splunk是一款功能强大,功能强大且完全集成的软件,用于实时企业日志管理,可收集,存储,搜索,诊断和报告任何日志和机器生成的数据,包括结构化,非结构化和复杂的多行应用程序日志. 它允许您以 ... 
- ImageMagick convert多张照片JPG转成pdf格式,pdfunite合并PDF文件
			在认识ImageMagick之前,我***的图像浏览软件是KuickShow,截图软件是KSnapShot,这两款软件都是KDE附带的软件,用起来也是蛮方便的.在一次偶然的机会中,我遇到了Imag ... 
- day 72  Django基础七之Ajax
			Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 六 同源策略与 ... 
- <每日一题>题目3:编写装饰器,为多个函数加上记录调用功能,要求每次调用函数都将被调用的函数名称写入文件
			def log(func): def inner(*args,**kwargs): with open('log',mode='a',encoding='utf-8') as f: #以追加的方式打开 ... 
- selenium基础(生成测试报告)
			测试报告 生成HTML测试报告 下载HTMLTestRunner.py包 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载后,把H ... 
