频道栏目
首页 > 安全 > C++ > 正文
  • 1.9 小结

    带有内部链接的定义限制在单个的编译单元中,则不能影响其他的编译单元,除非把它放在一个头文件中。这样的定义可以存在于 c文件的文件作用域内,不会影响全局(符号)名字空间。在链接时,带有外部链接的定义可

    关键词: 小结 

  • 1.8 最小化

    有些类的作者想让他们的类满足所有人的所有需要。这样的类已经被亲切地称为温尼贝戈(Winnebago)类。这种很常见和看似高尚的愿望令人忧虑。作为开发人员,我们必须记住,客户端要求增加的功能不一定合适我们编写

    关键词: 1  8 最小化 

  • 1.7 继承与分层

    在面向对象设计的情况下提到层次结构,许多人就会想到继承。继承是逻辑层次结构的一种形式——分层是另一种形式。到目前为止,在面向对象设计中更常见的逻辑层次结构形式产生于分层。如果一个类在其实现中实质地

    关键词:  继承 分层 

  • 1.6.3.3 WasA

    私有地继承一个类型是在一个类的逻辑实现中使用该类型的另一种方式。私有继承是一个派生类的实现细节。从逻辑角度看,一个私有的基类(就像一个私有的数据成员)对客户端是不可见的。私有继承是一种技术,只可以

    关键词: 1  6  3  3 WasA 

  • 1.6.3.2 HasA和HoldsA

    当一个类X嵌入类型T的一个(私有)数据成员时,就出现了另一种使用形式。这种内部使用通常称为HasA。尽管类X包含一个数据成员,但是数据成员的类型(在C语言意义上)只是从T派生而来(例如:T*或T&),所以我们仍

    关键词:   HasA  HoldsA 

  • 1.6.3.1 使用(Uses)

    如果一个类的任何成员(包括私有成员)函数在其接口或实现中命名了一个类型,就认为在该类的逻辑实现中使用了该类型。图1-20举例说明,因为类型Judge在类Crook的一个成员函数(bribe)体中命名,所以在Crook中的

    关键词: 使用 (Uses) 

  • 1.6.3 Uses-In-The-Implementation关系

    Use-In-The-Implementation(在实现中使用)关系增强了设计者抽象表达逻辑依赖的能力。这个符号表示一个逻辑实体将在其实现中使用另一个逻辑实体(即使没有在其接口中使用),在分析一个设计的底层结构时,可能非

    关键词:  Uses Implementation 

  • 1.6.2 Uses-In-Interface关系

    一旦一个函数在其参数表中命名一个类型或者在返回一个值时命名一个类型,就称这个函数在其接口中使用了该类型。也就是说,如果类型名是函数返回类型的一部分或者是签名的一部分,就说在这个函数的接口中使用了这

    关键词: 1  6  2 Uses In Interface 关系 

  • 1.6.1 IsA关系

    假设一个Message是一种String,也就是说,Message类型的对象可以用在String对象所需要的任何地方。正如我们从图1-16a的定义中可以看到的,类Message继承了String类,在图1-16b中用一个箭头表示这种关系:箭头的方

    关键词: 1  6  1 IsA 关系 

  • 1.6 逻辑设计表示法

    面向对象设计适用于一个丰富的符号集合。这些符号大多数用来表示设计的逻辑实体之间的关系。本书中,我们始终用圆角矩形表示逻辑实体(例如:类、结构体、联合体):用长方形表示物理实体:  为达到我们的目标

    关键词: 逻辑设计  表示法 

  • 1.5 迭代器

    在面向对象设计中迭代器可能是最常见的模式。一个迭代器就是一个对象。迭代器由某种原始对象提供并与之密切耦合,用途是允许客户端程序顺序地访问原始对象的部件、属性和子对象。对象常常会表现为其他对象的集合

    关键词: 1  5 迭代器 

  • 1.4.2 类成员布局

    使用不熟悉的对象时,弄清楚到哪里去找所需的内容可能会比较困难。尽管在一个类中成员函数的排序是一种风格问题,但是从用户的角度看处理好排序有助于保持一致性。对成员功能进行分类的一个基本方法是看它是否潜

    关键词: 布局  成员 

  • 1.4.1.3 数据成员名

    给类中的数据成员添加一致的前缀(像d_),可读性和可维护性就会显著提高。请看下面的Shoe类:在成员函数内部,局部(自动的)变量的值只是临时的,成员函数的值返回之后临时存储的局部变量值就不存在了。另一方

    关键词: 成员  数据 

  • 1.4.1.2 多词标识符名称

    当提到命名标识符时,有两类人——一类人提倡使用下划线字符(_)分隔单词,另一类人提倡大写第二个及后续单词的首字母:两种方式都存在争议。我最初支持下划线的方式,但是为了和大多数人保持一致我被迫做出了改

    关键词: 标识符  名称 

  • 1.4.1.1 类型名称

    1 4 1 标识符名称下面这些编码规范经过了长期的争论并最终被保留下来。本书提出的大多数推荐规范都集中在影响接口方面,它们优势极为明显。不过,大部分推荐规范只是个人喜好问题。如果存在一个规则的话,那就是

    关键词: 名称  类型 

  • 1.4 编程风格

    当几个程序员一起开始一项工程时,他们常常要论述采用什么样的编码标准。这些标准很少有助于提高产品的质量。这些标准常常涉及下列的问题,如:我们应该缩进2个、4个还是8个空格?我们应该在if的语句右边的圆括号

    关键词: 风格 

  • 1.3 断言语句

    标准C库提供了一个名为assert(见assert h)的宏指令,以确保给定表达式计算的值是一个非零值;如果值为0,就会打印出一条错误信息,同时程序的执行就会被终止。断言使用方便,并为开发者提供了一个强有力的实现

    关键词: 语句 

  • 1.2 typedef声明

    一个typedef声明为一个已存在的类型,而不是为一个新的类型创建一个别名。因此,typedef只给出类型安全性的假象。结果,在接口中typedef带来的坏处远远多于好处。请看图1-4所示的类Person。我们已经决定在Person

    关键词: 1  2 typedef  声明 

  • 1.1.4 实现文件(.c)

    有时我们会选择定义一些函数和数据用于我们自己的实现,而不想这种实现暴露在编译单元的外部。带有内部链接而不带有外部链接的定义可能会出现在 c文件的文件作用域中,但不会影响全局(符号)名字空间。在 c文件

    关键词: 文件 

  • 1.1.3 头文件(.h)

    在C++中,将一个带有外部链接的定义放置在一个 h文件中往往属于编程错误。如果你这样做了,还把这个头文件包含在不止一个编译单元中,那么把它们链接在一起时将会出现如下的错误信息:在C++中,在一个头文件的作

    关键词: 文件 

排行
热门
论坛推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站