C++内部类访问外部类
采用如下的方式访问外部类:
// OperatorTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include<vector>
using namespace std;
class Obj {
static int i, j;
public:
void f() {
cout << "i:" << i++ << endl;
}
void g() {
cout << "j:" << j++ << endl;
}
};
int Obj::i = 11;
int Obj::j = 12;
class ObjContainer {
vector<Obj*> objs;
public:
class SmartPointer;
friend class SmartPointer;
void add(Obj* obj) {
objs.push_back(obj);
}
class SmartPointer {
ObjContainer& oc;
int index;
public:
SmartPointer(ObjContainer& oc):oc(oc){
index = 0;
}
bool operator++() {
index++;
if (index >=oc.objs.size())return false;
if (oc.objs[index] == 0)return false;
return true;
}
bool operator++(int) {
return operator++();
}
Obj* operator->() {
return oc.objs[index];
}
};
SmartPointer begin() {
return SmartPointer(*this);
}
};
int main()
{
const int sz = 12;
ObjContainer oc;
Obj objs[sz];
ObjContainer::SmartPointer sp = oc.begin();
for (int i = 0; i < sz; i++) {
oc.add(&objs[i]);
}
do {
sp->f();
sp->g();
} while (sp++);
}
C++内部类访问外部类相关推荐
- 匿名内部类 可以访问外部类_Java 内部类与外部类的互访使用小结
内部类又称为嵌套类,可以把内部类理解为外部类的一个普通成员. 内部类访问外部类 里面的可以自由访问外面的,规则和static一样.(访问非静态时必须先创建对象) 具体如下: 非静态内部类的非静态方法 ...
- 内部类与外部类之间的访问
目 录 1.内部类与外部类 2.内部类的特点:内部类可以直接访问外部类的成员(成员变量和成员方法),包括私有成员. 3.内部类与外部类之间的访问 在测试类中调用成员内部类中的方法: ...
- 反编译中内部类调用外部类成员问题
.access$ 反编译偶内部类调用外部类成员问题 很简单的一个测试类源码: public class testOuter { private int a; private int b; privat ...
- 深入理解Java中为什么内部类可以访问外部类的成员
内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰.内部类就是一个经常让初学者感到迷惑的特性. 即使现在我自认为Java学的不错了, ...
- 匿名内部类 可以访问外部类_Java——内部类详解
说起内部类,大家肯定感觉熟悉又陌生,因为一定在很多框架源码中有看到别人使用过,但又感觉自己使用的比较少,今天我就带你具体来看看内部类. 内部类基础 所谓内部类就是在类的内部继续定义其他内部结构类. 在 ...
- Java内部类、外部类之间访问权限
Java内部类.外部类之间访问权限 啥是内部类 内部类可以访问外部类的所有成员吗 那外部类能访问内部类的所有成员吗 匿名内部类 静态内部类呢 为啥会这样呢 得出结论 啥是内部类 顾名思义,内部类就是在 ...
- java内部类为什么会持有外部类的引用_为什么内部类持有外部类的引?
对普通类(没有内部类的类)来说,内部类和外部类都与他无关:对有内部类的类来说,它们就是其内部类的外部类,外部类是个相对的说法,其实就是有内部类的类.所以,要回答这个问题,只需要讲解内部类是什么:Jav ...
- Scala 内部类及外部类
转自:https://blog.csdn.net/yyywyr/article/details/50193767 Scala内部类是从属于外部类对象的. 1.代码如下 [java] view plai ...
- 内部类和外部类的详解
一*相关概念: 当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使用内部类.内部类也是封装的一种体现. 1.1.内部类 ...
最新文章
- 线上java JVM问题排查
- pyplot绘图标题错误处理
- SpringBoot集成Redis实现排行榜
- 开放封闭原则(OCP)
- 14_pytorch.where,pytorch.gather
- Android ImageView图片自适应
- iOS 15泄密,屏下指纹的iPhone 13真的要来了
- 基于php程序系统设计,PHP程序静态分析系统的设计与实现
- Hive窗口函数(over/partition by/order by/window/序列函数)总结与实践
- QThread多线程编程分析
- 介词短语做后置定语(由of引导)
- 一次使用针式打印机打印异常问题的处理
- mkv格式提取文件方法
- JDK	安装教程——图文细讲
- 美国计算机专业工资排名,美国大学薪酬概况及毕业生薪资排名前50的学校
- mysql打开数据库命令_MySQL操作数据库指令
- 英语4级的分数如何计算机,英语四级的分数是怎么计算的?
- EXTJS动态载入组件定义文件并初始化组件,动态构造界面的方法.
- 数模【数据的拟合方法-总结】【温度与电阻的关系模型、农业生产实验模型、血药浓度模型、化工氯气生产等级模型、人口预测模型】
- Unity 使用混音器AudioMixer改变语速而不改变音色
热门文章
- asp.net2.0导出pdf文件完美解决方案(转载)
- [Android] AlertDialog获取网上天气并显示各城市天气
- HarmonyOS之深入解析设备标识符的功能和使用
- iOS之深入解析类加载的底层原理:分类如何加载到类以及分类和类的配合使用
- iOS逆向之深入解析MachO文件
- Java中三种交换值得方式
- html怎样做登录页面,使用HTML 5和CSS3制作登录页面完整步骤
- js reduce实现中间件_实现redux中间件-洋葱模型
- pandas python2.7_python-2.7 – Pandas Seaborn安装
- C代码+汇编 C的for汇编学习分析