对象object定义

定义好类后,使用类时就要,定义对象(object)。定义对象实际就是要申请内存(当然这个是编译器要处理的事),程序员只要定义对象。可以定义3类基本的对象,普通对象、引用对象、指针对象。

根据实际需求来确定定义哪一类对象。实际定义对象经验如下:一般定义普通变量,如果自已要控制对象生命周期就定义指针对象,如果是在编写代码时希望用另一个名字控制已有对象,可以定义一个引用对象。

为什么 C++ 没有通用类对象(universal class Object)

我们不需要这个:大多数情况下,泛型编程提供的静态类型安全机制是非常不错的替代品。其它情况可使用多继承(multiple inheritance)来解决。
不存在有用的通用类:纯粹的通用类本身不含任何语义。
“通用”类会怂恿人们对类型和接口的考虑粗枝大叶,从而导致多余的运行时检查。

为 什么有时对象退出作用域时没有调用析构函数?

正常情况下退出作用域时都会调用析构函数,不过有时也会有这种问题,先看下例子:

也就是说,有些人误以为 new 创建的对象会在函数的最后被析构。

基本上,只有当你希望一个对象能“生存”于其被创建的域之外时,才应该使用“ new”。如果这样,你就需要使用“delete”来析构该对象。例如:

C++对象在内存中如何存放

跟C语言一样,C++ 也没有定义对象在内存中的存放形式,而仅仅定义了一些必须遵循的语义约束。因此,不同的编译器(BCB,VC)实现起来都有所不同。

有一本书中第二章有一个简短的解释。《The Annotated C++ Reference Manual》简称为 ARM,也有一些图形例子。

什么是对象

把函数放进结构是C++中的根本改变,并且这引起我们将结构作为新概念去思考。在C中,结构是数据的凝聚,它将数据捆绑在一起,使得我们可以将它们看作一个包。但这除了能使程序设计方便之外,别无其他好处。这些结构上的运算可以用在别处。然而将函数也放在这个包内,结构就变成了新的创造物,它既能描述属性(就像C中的struct能做的一样),又能描述行为,这就形成了对象的概念。对象是一个独立的有约束的实体,有自己的记忆和活动。

对象设计有哪几个阶段

对象的设计不限于写程序的时期,它出现在一系列阶段。有这种观点很有好处,因为我们不再期望设计立刻尽善尽美,而是认识到,对对象做什么和它应当像什么的理解是随着时间的 推移而产生的。这个观点也适用于不同类型程序的设计。特殊类型程序的模式是通过一次又一 次地求解问题而形成的。同样,对象有自己的模式,通过理解、使用和重用而形成。 下面是描述,不是方法。它简直就是对象期望的设计出现时的观察结果。