当前位置: 首页 > news >正文

C++:内部类

如果一个类定义在另一个类的内部,这个类就叫做内部类。内部类不属于外部类,更不能通过外部类去访问内部类的对象,外部类对内部类没有任何的优待访问权限。

内部类其实相当于特殊的友元类,外部类不是内部类的友元类。

class A
{public:class B{};
};

特征:

1.内部类可以定义在外部类的任何地方

2.内部类可以直接访问外部类中的static成员,不需要外部类的对象/类名。

3.sizeof(外部类)=外部类,和内部类没有任何关系。

内部类受外部类的访问限定符和类域的限制

A a1;
B b1;//1

1是不可以这样用的,因为内部类受外部类的类域限制

A::B b1;

这样可以。

以上是内部类定义在外部类的公有部分的前提,如果是私有则不能直接访问类域定义了,需要通过外部类的函数来定义了。

class A
{
public:void f(){B b1;}private:class B{};
};

http://www.dtcms.com/a/194579.html

相关文章:

  • upload-labs通关笔记-第7关 文件上传之空格绕过
  • 【开源Agent框架】CAMEL:角色扮演+任务分解
  • YOLOv7训练时4个类别只出2个类别
  • c++ 类的语法3
  • YOLO11解决方案之对象裁剪探索
  • NoSQL数据库复习题目要点
  • upload-labs通关笔记-第8关 文件上传之点绕过
  • 卓力达电铸镍网:精密制造与跨领域应用的创新典范
  • 系统提示学习(System Prompt Learning)在医学编程中的初步分析与探索
  • 现场血案:Kafka CRC 异常
  • Linux补充之vscode连接远端主机
  • 基于 CSS Grid 的网页,拆解页面整体布局结构
  • 创意生图搭配酷炫特效,AIGC直播礼物多元玩法助力平台互动再升级
  • 前端图片自适应全攻略:从基础计算到工程实践
  • 维智定位 Android 定位 SDK
  • 使用 Docker 部署 React + Nginx 应用教程
  • MySQL 数据库优化:InnoDB 存储引擎深度解析:架构、调优与最佳实践
  • 支持蓝牙5.0和2.4G私有协议芯片-PHY6222
  • CSDN-2024《AGP-Net: Adaptive Graph Prior Network for Image Denoising》
  • 移植RTOS,发现任务栈溢出怎么办?
  • VSCode + Cline AI辅助编程完全指南
  • 灌区量测水自动化监测解决方案
  • Go语言实现生产者-消费者问题的多种方法
  • okcc呼叫中心系统搭建的方案方式
  • Linux操作系统--进程间通信(system V共享内存)
  • 【AI学习】AI大模型技术发展研究月报的生成提示词
  • Linux——UDP/TCP协议理论
  • Redis——底层数据结构
  • MySQL 第四讲---基础篇 数据类型
  • SRS流媒体服务器(5)源码分析之RTMP握手