Hi,欢迎来到牌子123 首页 排行榜 品牌库 黄页 攻略 问答

什么是嵌套类?能否解释一下!

发布时间:2025-01-09

4个回答

卫浴品牌榜
百度 百科上的  解释的很好  直接搬过来了 嵌套类型 (nested type)   在另一个类型的范围内定义的类型。嵌套类型通常用于封装顶级类型的实现细节。   提示:   嵌套类型是作为某其他类型的成员的类型。嵌套类型应与其声明类型紧密关联,并且不得用作通用类型。有些开发人员会将嵌套类型弄混淆,因此嵌套类型不应是公开可见的,除非不得不这样做。在设计完善的库中,开发人员几乎不需要使用嵌套类型实例化对象或声明变量。   在声明类型使用和创建嵌套类型实例时,嵌套类型很有用,但不在公共成员中公开嵌套类型的使用。   如果嵌套类型和其外部类型之间的关系需要成员可访问性语义,则要使用嵌套类型。由于嵌套类型被视为是声明类型的成员,因此嵌套类型可以访问声明类型中的所有其他成员。   不要将公共嵌套类型用作逻辑分组构造;请改用命名空间。   避免公开显露嵌套类型。唯一的特例是需要声明嵌套类型的变量的情况,在生成子类或其他高级自定义等极少数情况下需要声明嵌套类型的变量。   如果可能在声明类型的外部引用类型,则不要使用嵌套类型。在常见方案中,不应要求对嵌套类型进行变量声明和对象实例化。例如,处理在某一类上定义的事件的事件处理程序委托不应嵌套在该类中。   如果需要由客户端代码实例化类型,则不要使用嵌套类型。如果某种类型具有公共构造函数,就可能 不应进行嵌套。理想情况下,嵌套类型仅由它的声明类型进行实例化和使用。如果嵌套类型具有公共构造函数,则表示该类型不单由其声明类型使用。通常情况下, 嵌套类型不应针对其声明类型以外的类型执行任务。如某种类型具有更广泛的用途,就很可能不应进行嵌套。   不要将嵌套类型定义为接口的成员。许多语言不支持这样的构造。
ARTZU品牌策划
嵌套类及为内部类 就是在一个类的里面定义的类 这个类其它类无法访问只有嵌套它的类能使用它 使其更私有化 在一些只有某个特定的类才能访问的方法或接口之类就可以定义为内部类
Meilun的品牌笔记
比如说 class A{ private:     int number; public:     int  getNum(){       cout<<number;     } }; class B{ private:     A   a; public:     int  getNum1(){     count<< a.number;    } } 即类A的一个对象a “组合"在类b中作为类成员。(别的类还可以调用类A) class B{ private:     `````````` public:     ```````````     class A{ private:    `````` public: ```````````` } } 即类A定义在类B中,类A只为类B服务 ,叫作类A嵌套在类B中,A叫做嵌套类
品牌战略咨询
可以在另一个类内部定义一个类,这样的类是(嵌套类)nested cIass ,也称为(嵌套类型)nested type 。嵌套类最常用于定义执行类。 嵌套类是独立的类,基本上与它们的外围类不相关,因此 外围类和嵌套类的对象是互相独立的。嵌套类型的对象不具备外围类所定义的成员,同样外围类的成员也不具备嵌套类所定义的成员。嵌套类的名字在其外围类的作用域中可见,但在其它类作用域或定义外围类的作用域中不可见。嵌套类的名字将不会与另一作用域中声明的名字冲突。 嵌套类可以具有与非嵌套类相同种类的成员。像任何其他类一样,嵌套类使用访问标号控制对自已成员的访问。成员可以声明为pubIic 、 private或 protected。外围类对嵌套类的面员没有特殊访问权,并且嵌套类对其外围类的面员也没有特殊访问权。 嵌套类定义了其外围类中的一个类型成员,像任何其他面员一样,外围类决定对这个类型的访问。在外围类的pubIic部分定义的嵌套类定义了可在任何地方使用的类型,在外围类的protected部分定义的嵌套类定义了只能由外围类、友元或派生类访问 的类型,在外围为的private部分定义的嵌套类定义了只能被外围类或其友元访问的类型。

扩展问答

返回首页 | 品牌大全 | 品牌排行 | 品牌问答 | 品牌资讯 | 品牌价值 | 关于我们 | 联系我们 | 免责声明

Copyright 2013-2020 品牌门户,牌子123(www.paizi123.cn) 版权所有 备案号:苏ICP备13009020号-7

网站地图