news 2026/7/16 4:31:03

【C++】类和对象--内部类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++】类和对象--内部类

目录

    • 内部类的概念
    • 内部类的特性

C++允许在类的内部定义另一个类,这个内部定义的就叫做内部类。内部类看似嵌套,但其本质是一个独立的类,仅受到外部类类域和访问权限的限制。

内部类的概念

内部类是定义在某个类(外部类)内部的类,它对外部类而言是一种强关联的类型,常用于实现某种私有的辅助结构(如节点、迭代器等)。

classA{public:classB{// 内部类public:voidfoo(constA&a){cout<<k<<endl;// 直接访问外部类静态成员cout<<a.h<<endl;// 通过对象访问非静态私有成员}};private:staticintk;inth;};intA::k=10;intmain(){A a;A::B b;// 使用 A::B 访问内部类b.foo(a);// 调用return0;}

内部类的特性

  1. 天生友元:内部类自动成为外部类的友元类,可以访问外部类的私有成员(包括静态和非静态,但非静态需通过对象)。
  2. 访问限定符:内部类可以放在外部类的publicprotectedprivate区段,这决定了外部世界能否访问它(如上例Bpublic,外部可创建A::B对象)。但无论放在哪,友元关系不受影响。
  3. 独立性:sizeof(外部类)的值不包含内部类的大小,内部类只是一个类型声明,不占对象空间。
  4. 静态成员访问:内部类可以直接访问外部类的static成员(不需要对象或类名限定),如上例直接使用k

内部类在C++中不算特别常用,但在一些特定场合(如封装不想暴露给全局的辅助结构,或实现与外部类紧密耦合的逻辑)是很好的选择。它的友元特性比单独声明友元类更内聚。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 4:30:18

C++实时数据流水线设计:7大核心模式与性能优化实战

1. 项目概述&#xff1a;从概念到实战的实时数据流水线最近刚参加完2025年的全球C技术大会&#xff0c;回来之后一直想找个时间把会上关于实时数据流水线设计的干货好好梳理一下。这个话题在大会上讨论得特别热烈&#xff0c;几乎每个做高性能计算、金融交易系统或者游戏服务器…

作者头像 李华
网站建设 2026/7/16 4:30:09

Android平板与微处理器USB通讯开发指南

1. Android平板与微处理器的USB通讯基础架构在工业自动化和智能硬件开发领域&#xff0c;Android设备与微处理器的通讯方案正变得越来越普遍。这种组合充分利用了Android系统的丰富交互界面和微处理器的实时控制能力&#xff0c;典型的应用场景包括&#xff1a;工业控制面板、智…

作者头像 李华
网站建设 2026/7/16 4:27:21

CERT C++安全编码实战:cert-err33-c规则误报分析与精准管理策略

1. 项目概述&#xff1a;CERT C与误报的永恒博弈在C安全编码领域&#xff0c;CERT C标准就像一本厚重的“安全驾驶手册”&#xff0c;它告诉你哪些操作是危险的、哪些行为可能导致程序“翻车”。然而&#xff0c;任何静态分析工具在应用这些规则时&#xff0c;都不可避免地会面…

作者头像 李华
网站建设 2026/7/16 4:23:24

QGraphicsScene的一些重要函数、信号及事件

非AI生成,觉得有用,就请您帮忙点赞转发收藏吧,您的鼓励是我创作的动力,多谢看官。 目录 一、QGraphicsScene 的核心职责 二、重要成员函数(按使用场景归类) 1. 图元管理(最常用) 2. 便捷添加内置图元 3. 场景范围与外观 4. 选择与焦点 5. 更新与动画 三、重要…

作者头像 李华
网站建设 2026/7/16 4:22:59

40分钟掌握集成电路制造:从光刻到封装的完整技术链

第一次接触集成电路制造&#xff0c;很多人会陷入一个误区&#xff1a;以为这行门槛高到只能仰望。但真实情况是&#xff0c;哪怕你连半导体物理都没系统学过&#xff0c;只要抓住几个关键环节的底层逻辑&#xff0c;就能快速建立起对整个制造流程的认知框架——不是成为工艺专…

作者头像 李华
网站建设 2026/7/16 4:21:13

大众点评数据采集全攻略:从零开始构建你的餐饮数据分析系统

大众点评数据采集全攻略&#xff1a;从零开始构建你的餐饮数据分析系统 【免费下载链接】dianping_spider 大众点评爬虫&#xff08;全站可爬&#xff0c;解决动态字体加密&#xff0c;非OCR&#xff09;。持续更新 项目地址: https://gitcode.com/gh_mirrors/di/dianping_sp…

作者头像 李华