C++局部类和嵌套类的区别

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程 ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java - 阅读详情
局部类

  在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。局部类不能被外部所继承。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。
  int a;
  void fun()
  {
  static int s;
  class A
  {
    public:
    void init(int i) { s = i; }
  }
;
  A m;
  m.init(10);
  }


局部类的另一个用途是用来实现类型转化,如下代码:

class Interface
{
public:
   virtual void Fun() = 0;  
}
;

template <class T, class P>
Interface* MakeAdapter(const T& obj, const P& arg)
{
    int x;
   class Local : public Interface
   {
   public:
      Local(const T& obj, const P& arg)
         : obj_(obj), arg_(arg) {}
      virtual void Fun()
      {
          x = 100;
         obj_.Call(arg_);
      }

   private:
      T obj_;
      P arg_;
   }
;
   return new Local(obj, arg);
}


  嵌套类

  在一个类中定义的类称为嵌套类,定义嵌套类的类称为外围类。

  定义嵌套类的目的在于隐藏类名,减少全局的标识符,从而限制用户能否使用该类建立对象。这样可以提高类的抽象能力,并且强调了两个类(外围类和嵌套类)之间的主从关系。下面是一个嵌套类的例子:

 class A
  {
   public:
    class B
    {
    public:
      …
    private:
      …
    }
;
    void f();
    private:
    int a;
  }




   其中,类B是一个嵌套类,类A是外围类,类B定义在类A的类体内。

  对嵌套类的若干说明:

  1、从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类的作用域内使用该类名时,需要加名字限定。

  2、从访问权限的角度来看,嵌套类名与它的外围类的对象成员名具有相同的访问权限规则。不能访问嵌套类的对象中的私有成员函数,也不能对外围类的私有部分中的嵌套类建立对象。

  3、嵌套类中的成员函数可以在它的类体外定义。

  4、嵌套类中说明的成员不是外围类中对象的成员,反之亦然。嵌套类的成员函数对外围类的成员没有访问权,反之亦然。国此,在分析嵌套类与外围类的成员访问关系时,往往把嵌套类看作非嵌套类来处理。这样,上述的嵌套类可写成如下格式:

  class A
  {
  public:
    void f();
  private:
    int a;
  };

    class B
  {
    public:
    …
  private:
    …
  };

  由引可见,嵌套类仅仅是语法上的嵌入。

  5、在嵌套类中说明的友元对外围类的成员没有访问权。

  6、如果嵌套类比较复杂,可以只在外围类中对嵌套类进行说明,关于嵌套的详细的内容可在外围类体外的文件域中进行定义。

转自:http://www.cppblog.com/mzty/archive/2007/05/24/24766.html

华为OD机试真题2025双机位A卷 Java&Go 实现【采购订单】 在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。 阅读详情

相关推荐

IBM X3650 M4做raid阵列

步骤1.开机出现此界面,同时按ctrl键和h键,进入IBM X3650 M4配置raid界面。 【注】不知道是不是因为我的服务器长期闲置,按键ctrl键和h键居然无法进入raid配置界面。这时候,我们可以进bios同样可以进入raid配置界面。如果你按ctrl键和h键就可以直接进入raid配置界面,那么请忽略此段,直接看步骤2 开机,按键F1,选中system setting ,接着选中Adapters and UEFI Drivers ...

ani5565的博客 2万+

C++中局部类的使用

C++中局部类的使用

网络资源是无限的 2014

香橙派rk3588的rknn多线程推理RTSP流服务性能优化与资源分配策略

本文深入探讨了香橙派RK3588平台上的RKNN多线程推理在RTSP流服务中的性能优化与资源分配策略。通过分析硬件架构、设计多线程推理流水线、实现NPU核心负载均衡及优化RGA内存管理,显著提升了RTSP视频流的处理帧率和降低了延迟,为边缘计算视频分析应用提供了实用的优化方案。

7up55的博客 653

局部类和嵌套类

  局部类  在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。int a;void fun(){  static int s;  class A   {    public

小发猫 1271

人形机器人硬件开发:骨架系统设计全攻略

本文以人形机器人骨架系统为核心研究对象,系统解析其从理论建模到工程实现的全流程设计方法。通过融合刚体力学、材料科学与机器人控制理论,构建"概念基础-理论框架-架构设计-实现机制-实际应用-高级考量-综合拓展"的七层分析体系。重点覆盖运动学/动力学建模、轻量化结构设计、关节模块集成、多物理场耦合优化等关键技术,结合波士顿动力Atlas、本田ASIMO等经典案例,提供从原型设计到量产验证的工程实践指南。

AI天才研究院 1870

慕课软件质量保证与测试(习题集)

慕课金陵科技学院.软件质量保证与测试.期末复习.习题汇总0 总目录1 绪论1.1 软件质量保证与测试的产生与发展1.2 软件缺陷,软件错误,软件故障1.3 软件质量保证与测试的意义,原则和挑战1.4 单元测试1.5 课后作业2 软件测试策略2.1 软件测试的模型,过程和生命周期2.2 软件测试的方法和技术2.3 单元测试2.4 课后作业3 黑盒测试3.1 黑盒测试概述3.2 等价类划分测试3.3 边界值测试3.4 错误推测法3.5 判定表驱动法3.6 因果图法3.7 场景法3.8 正交实验法3.9 单元测试

weixin_42473228的博客 5万+

Python基础------作用域

一、定义: 1.作用域指的是变量的可用范围 二、作用域的分类 按作用域声明的位置不同可分为四类 局部作用域 函数体中声明的变量 嵌套作用域 嵌套函数体中外层函数体总声明的变量 全局作用域 py文件中声明的变量 内置作用域 Python提供的变量(函数) 三、作用范围 内置作用域 &gt; 全局作用域 &gt; 嵌套作用域 &gt; ...

石马的农的博客 257

MobilenetV1、V2、V3系列详解

Mobilenet系列模型作为当前主流的端侧轻量级模型被广泛应用,很多算法都会使用其作为backbone提取特征,这一章对Mobilenet系列模型V1,V2,V3做一个总结。

turned的博客 1万+

局部类

局部类 局部类是定义在一个代码块里的类。 那么什么是一个代码块呢? 在一组花括号里包含一个或者多个语句的代码片段就可以叫做代码块。局部类通常什么定义在一个方法的内部。 声明局部类 局部类可以定义在任何代码块里,例如你可以在方法内、一个for循环内或者if代码段内定义局部类 下面是一个例子,LocalClassExample 用来验证两个电话号码。在方法validatePhoneNu

newsonglin的专栏 775

立创开源便携式多生理参数监护仪:基于STM32H743与ADS1292R的心电血氧体温监测系统设计

本文详细解析了基于STM32H743与ADS1292R的便携式多生理参数监护仪开源设计。项目集成了心电、血氧和体温监测功能,采用模块化硬件架构,并重点介绍了利用FIR滤波和Pan-Tompkins算法进行心电信号处理的核心技术。文章提供了完整的复刻指南与避坑要点,是学习医疗电子设备设计的优秀实践案例。

weixin_30600615的博客 326

SAP采购信息记录批量维护实战:用BAPI ME_INFORECORD_MAINTAIN搞定价格等级和条件记录

本文深入解析SAP标准BAPI ME_INFORECORD_MAINTAIN在采购信息记录批量维护中的应用,特别聚焦价格等级和条件记录的技术难点。通过实战案例和代码示例,帮助用户高效处理供应商-物料价格数据,提升供应链管理效率。

weixin_42522320的博客 410

C++局部类

C++局部类

1373

3、流程引擎下载安装与部署

camunda有多种使用方式,此处先使用独立平台的方式部署引擎,这种用法适合分布式,微服务化,多语言异构系统的使用方式。

leyoliu的博客 5520

C++局部类和C++嵌套类之间的区别

1、从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类中使用。如果在外围类的作用域内使用该类名时,需要加名字限定。 2、从访问权限的角度来看,嵌套类名与它的外围类的对象成员名具有相同的访问权限规则。不能访问嵌套类的对象中的私有成员函数,也不能对外围类的私有部分中的嵌套类建立对象。 3、C++嵌套类中的成员函数可以在它的类体外定义。 4、嵌套类中说明的成员不是外围类中对象的成员,反之亦然。嵌套类的成员函数对外围类的成员没有访问权,反之亦然。因此,在分析嵌套类与外围类的成员访问关系

Lu_ming的专栏 888

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C++ 内部类、嵌套类、局部类 和java的区别

C++中好像不区分内部类与嵌套类两个名词。 内部类与嵌套类都是指在类中定义类。 局部类是指在函数中定义类。 (c++不能在函数中定义函数。c++在类中定义的函数也就是成员函数。) (c++内部类与java内部类最大的区别就是:c++的内部类对象没有外部类对象的指针,不能访问外部类对象的非静态成员;java的非静态内部类对象有外部类对象的指针,能访问外部类对象的非静态成员。 java 中右...

lw585625的博客 654

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C++局部类和嵌套类

如果嵌套类型和其外部类型之间的关系需要成员可访问性语义,需要使用C++嵌套类,嵌套类型不应针对其声明类型以外的类型执行任务,而C++局部类允许类、结构和接口被分成多个小块儿并存储在不同的源文件中,这样的实现很容易开发和维护。 C++局部类: 在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关(#add,这半句是

把握自己。 1888

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

c++ 嵌套类(Nested Class)、局部类(Local Class)

嵌套类:用于逻辑紧密关联的类设计,隐藏实现细节。局部类:用于函数内部的一次性封装,简化局部逻辑。合理使用这两种特性可以提升代码的封装性和可维护性,但需避免滥用导致结构混乱。

曾经也曾立志 565

c++嵌套类和局部类详细介绍

对比维度嵌套类(Nested Class)局部类(Local Class)定义位置类的内部函数的内部作用域外部类作用域内仅函数作用域内访问外部成员可访问外部类的 static 成员(需权限)可访问函数的 static 变量和枚举成员函数定义可在类内或类外定义(类外需限定)必须在类体内定义静态成员变量允许不允许使用场景逻辑上属于外部类的辅助类,如迭代器函数内临时使用的类,不暴露给外部。

qq_63683271的博客 631

深入解析C++嵌套类与局部类,[工作流节点13] 发送邮件节点配置与邮件模板技巧 —— 从基础通知到智能邮件自动化。

嵌套类是定义在另一个类内部的类,通常用于封装仅与外部类相关的功能。嵌套类可以访问外部类的私有成员,但外部类不能直接访问嵌套类的私有成员。嵌套类分为两种类型:静态嵌套类和非静态嵌套类(内部类)。静态嵌套类不持有外部类的引用,而非静态嵌套类隐式持有外部类的引用。局部类是定义在函数内部的类,其作用域仅限于该函数。嵌套类和局部类都会增加代码的复杂性,应确保其使用能带来明显的设计优势。嵌套类的作用域是整个外部类,而局部类仅限于定义它的函数。局部类在模板元编程中也有应用,例如实现编译时计算的辅助类。

l6nmky9c的博客 27

cpp小知识点(4) cpp笔记

对象拷贝和匿名对象 int a{3};//列表初始化 int a={3};//拷贝列表初始化 Circle circle{5.5}; Circle circle={3}; //用匿名对象做列表初始化 Circle circle1=circle{10};//拷贝列表匿名初始化 局部类和嵌套类 局部类: // void f() { class C{ }; ...... } /嵌套在函数中,也只...

不停 184

第十六章:其他工具与技术(二)

枚举 枚举(enum) 是一种取值受限的特殊类型,具体的参考这里 enum Color{ Red, // 全局作用域 Green, Yellow; }; int main(){ Color x = Red; } 关于枚举,我们需要知道以下几点: 分为无作用域枚举与有作用域枚举( C++11 起)两种enum class Color{ Red, // 有作用域枚举 Green, Yellow; }; int main(){ Color x

weixin_39061796的博客 180
上一篇: 如何计算结构体的大小
下一篇: 一个类的对象作为另一个类的数据成员时如何构造函数
HighKit
博客等级 码龄15年 18粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值