Chinaunix首页 | 论坛 | 博客
  • 博客访问: 300165
  • 博文数量: 148
  • 博客积分: 4365
  • 博客等级: 上校
  • 技术积分: 1566
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-05 21:38
文章分类
文章存档

2014年(2)

2013年(45)

2012年(18)

2011年(1)

2009年(54)

2008年(28)

我的朋友

发布时间:2013-01-07 15:44:42

看的不是特别明白,当需要某些更方便的接口时(连续调用几个public接口,facade?),最好用非成员非友元的函数进行封装,而不是新增可访问内部成员的成员函数,减少对封装的冲击。这中普通函数可以何类放入同一个命名空间。可参照标准库的头文件。......【阅读全文】

阅读(325) | 评论(0) | 转发(0)

发布时间:2013-01-07 15:26:11

OO三大核心之一封装的好处,客户程序通过公开的接口进行操作。如果直接访问赋值内部成员,造成了两者之间的耦合,失去了弹性,非常难以扩展。要么private,要么不封装。......【阅读全文】

阅读(236) | 评论(0) | 转发(0)

发布时间:2013-01-07 11:25:50

需要返回一个对象时(尤其是重载的四则运算符),直接采用return by value 返回一个局部对象,抛弃引用指针的传址形式。传址方式返回有以下风险:如果是局部对象,则函数结束时就已经被销毁,堆区对象则面临着谁进行释放的问题,下面这种连续调用还可能引发内存泄露。a = b + c +d;也不要试图在此使用静态成员来图方便,易导致bugif((a+b) == (c+d))使用静态成员保存结果,这里将是恒等的,因为第二次的值覆盖了第一次的值。......【阅读全文】

阅读(340) | 评论(0) | 转发(0)

发布时间:2013-01-07 11:04:14

值传递适合于内置类型(和STL容器? 虽然容器内元素都是传值的)。类类型对象采用值传递会涉及到对象考构,结束时的析构,成本可能比较高(取决于其copy的成本),而且派生类对象会引发切割(slice down),所以推荐的是传引用。隐含一点:copy要严密设计。......【阅读全文】

阅读(245) | 评论(0) | 转发(0)

发布时间:2013-01-07 10:53:59

设计一个类的种种方面考虑,把其当作一个完整的type来考虑(难道不是吗。。)。首先要明确是否真的需要这么一个type。实体对象如何被创建和销毁,对象复制(特别注意作为值传递的参数时)和赋值有无区别。需要对外提供哪些接口(包括重载的运算符),内部需要哪些成员,是否要配合其它类(继承关系)。等等很多方面的考虑。......【阅读全文】

阅读(287) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册