必须返回一个对象时不要试图返回一个引用

据说爱因斯坦曾提出过这样的建议:尽可能地让事情简单,但不要过于简单。在c++语言中相似的说法应该是:尽可能地使程序高效,但不要过于高效。 继续阅读必须返回一个对象时不要试图返回一个引用

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

我们不需要这个:大多数情况下,泛型编程提供的静态类型安全机制是非常不错的替代品。其它情况可使用多继承(multiple inheritance)来解决。
不存在有用的通用类:纯粹的通用类本身不含任何语义。 继续阅读为什么 C++ 没有通用类对象(universal class Object)

什么是对象

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

对象设计有哪几个阶段

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

面向对象语言

第一个面向对象的程序设计语言是6 0年代开发的 Simula-67。其目的是为了解决模拟问题。典型的模拟问题是银行出纳业务,包括出纳部门、顾客、业务、货币的单位等大量的“对象”。把那些在程序执行期间除了状态之外其他方面都一样的对象归在一起,构成对象的“类”,这就是“类”一词的来源。 继续阅读面向对象语言