摘要: 考虑有理数的class: class Rational { public: Rational(int numerator = 0, int denominator = 1); protected: private: int n, d; friend Rational operator*(const ... 阅读全文
posted @ 2012-01-17 23:20 lidan 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 缺省情况下c++以by value 的方式传递对象(或来自)函数。函数参数是以实参的副本为初值,用函数获得的也是函数返回值的一个副本 这些副本由对象的copy构造函数产出,这可能使得pass-by-value成为昂贵的操作: class Person { public: Person(); virtual ~Person(); ... 阅读全文
posted @ 2012-01-17 16:04 lidan 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 设计优秀的classes和是一项艰巨的工作,因为设计好的types是一项艰巨的工作。设计出至少像c++内置类型一样好的classes。 几乎每一个class都要求面对以下提问,回答往往导致你的设计规范: 1,新type的对象应该如何创建和销毁? 包括构造和析构函数,内存分配和释放函数(operator new, operator delete,operator new[], o... 阅读全文
posted @ 2012-01-17 14:34 lidan 阅读(394) 评论(0) 推荐(0) 编辑