c++中嵌套类,外部类访问内部类的私有成员变量
在嵌套类中,内部类可以直接访问外部类的私有成员变量,但是外部类不能直接访问内部类的私有成员变量,必须把外部类声明为内部类的友元类
/*************************************************************************
> File Name: test_private_outToinn.cpp
> Author: 阿瞒123
> Mail: caopp123@126.com
> Created Time: 2016年06月02日 星期四 05时36分21秒
************************************************************************/ #include<iostream>
using namespace std;
class OutterClass{
public:
class InnerClass{
int inner;
public:
friend class OutterClass;
InnerClass(int in);
}; void outerprint(OutterClass::InnerClass in); }; void OutterClass::outerprint(OutterClass::InnerClass in){
cout<<in.inner<<endl;
} OutterClass::InnerClass::InnerClass(int in){
inner=in;
} int main(){
OutterClass ou;
OutterClass::InnerClass in(100);
ou.outerprint(in);
return 0;
}
c++中嵌套类,外部类访问内部类的私有成员变量的更多相关文章
- C++笔记之外部类访问内部类的私有成员
如下图所示 内部类可以访问外部类的私有成员 而外部类无法访问内部类的私有成员 为了能让外部类访问内部类的私有成员,将外部类声明为内部类的友元类即可 #include <iostream> ...
- “全栈2019”Java第六十八章:外部类访问内部类成员详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java子类访问父类的私有成员变量
/**子类会继承父类所有的属性和方法. * 但是根据不同的权限标识符,子类不可见父类的私有变量,但可以通过父类的公共方法访问私有变量 * 所以对于重名变量,子类和父类都各有一份. * 对于子类和父类中 ...
- C#外部类、内部类(嵌套类)之间的成员访问特点
最近程序中需要用到多线程工作下的单例模式.而其多种实现方法中,利用内部类实现懒汉模式是一种值得推荐的方式.顺便也就对内部类和外部类之间的关系做了一下研究,总结如下(理解不困难,不粘贴代码了,有需要的留 ...
- ZeroC ICE源代码中的那些事 - 嵌套类和局部类
使用嵌套类(类中定义的类,c++没有静态类)或局部类(在函数或成员方法中定义的类),进行行为模式的委托(委托请求)或异步 . java中嵌套类和局部类隐式完成了你对外部对象(实例)访问的私有堆栈的初始 ...
- C++学习之嵌套类和局部类
C++学习之嵌套类和局部类 局部类 在一个函数体内定义的类称为局部类. 局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关.在定义局部类时需要注意:局部类 ...
- Java的外部类和内部类+静态变量和非静态变量的组合关系
看的李刚<疯狂java讲义>,里面讲内部类的地方感觉有点散而且不全,看完之后还是不十分清楚到底怎么用,于是自己写了个程序测试了一下.看如下代码,即可知道外部类和内部类+静态成员和非静态成员 ...
- “全栈2019”Java第九十二章:外部类与内部类成员覆盖详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第七十一章:外部类访问静态内部类成员详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- PHP把excel导入mysql数据库最常用的方法
Posted on 2011-03-25 09:16 PHP博客 阅读(1316) 评论(0) 编辑 收藏 引用 网摘 PHP把excel(xls)文件导入mysql数据库最常用的方法就是先把xls ...
- leetcode941
public class Solution { public bool ValidMountainArray(int[] A) { bool findTop = false; ) { return f ...
- testng报告发邮件后css样式缺失问题
问题:用reportng把代替testng报告后,邮件中不显示html样式 解决方案:把依赖的文件,加到邮件附件 Jenkins发邮件的时候,把依赖文件作为附件发送. 结果看到样式了:
- [Ora]-1309. OCI is not properly installed on this machine (NOE1/INIT)
When the Oracle client software has not been properly installed, you will get an exception when tryi ...
- C# 通用方法
一. /// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete(string str) { ...
- IExpress 制作安装包 注意事项
被打包的文件名不能超过8个字符,否则iexpress会取前6个字符 + "~1".
- pyspark dataframe 格式数据输入 做逻辑回归
该方法好处是可以调节阈值,可调参数比其他形式模型多很多. [参照]http://blog.csdn.net/u013719780/article/details/52277616 [3种模型效果比较: ...
- 最短路径-Dijkstra算法(转载)
注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始 ...
- console.log等不能打印全部数据/信息
有时候console.log在chrome调试控制台打印不全,如下: 这个时候,我们可以点击进去:用watch 工具,添加变量,右击copy value 选项:
- jquery parents用法
之前一直用find 现在用parents var w = $("div"); w = $("div").parents('.class'); //在Parent ...