中的句子

摘至《think c++》
///


建立公共接口的唯一的理由是使得它能对于每个不同的子类有不同的表示。它建立一个基本的格式,由此可以知道什么是对于所

有派生类公共的。当希望通过公共接口操作一组类时就创建抽象类。


///


• C + +程序员的进步
C程序员似乎可以用三步进入C + +:
第一步:简单地把C + +作为一个“更好的C”,因为C + +在使用任何函数之前必须声明它,
并且对于如何使用变量有更苛刻的要求。简单地用C + +编译器编译C程序常常会发现错误。

第二步:进入“面向对象”的C + +。这意味着,很容易看到将数据结构和在它上面活动的
函数捆绑在一起的代码组织,看到构造函数和析构函数的价值,也许还会看到一些简单的继承,
这是有好处的。许多用过C的程序员很快就知道这是有用的,因为无论何时,创建库时,这些
都是要做的。然而在C + +中,由编译器来帮我们完成这些工作。
在基于对象层上,我们可能受骗,因为无须花费太多精力就能得到很多好处。它也很容易
使我们感到正在创建数据类型—制造类和对象,向这些对象发送消息,一切漂亮优美。
但是,不要犯傻,如果我们停留在这里,我们就失去了这个语言的最重要的部分。这个最
重要的部分才真正是向面向对象程序设计的飞跃。要做到这一点,只有靠第三步。

第三步:使用虚函数。虚函数加强类型概念,而不是只在结构内和墙后封装代码,所以毫
无疑问,对于新C + +程序员,它们是最困难的概念。然而,它们也是理解面向对象程序设计的
转折点。如果不用虚函数,就等于还不懂得O O P。

///


把公共代码放在尽可能靠近我们的类层次根的地方,这是很好的想法。这不仅节省了代码空间,而且能允许使改变的传播变得容

易。


在基类中,对纯虚函数提供定义是可能的。

/


使用多态的目的是让对基类对象操作的代码也能操作派生类对象。

//


对于在构造函数中调用一个虚函数的情况,被调用的只是这个函数的本地版本。也就是说,虚机制在构造函数中不工作。


//

如果正在删除的对象指针是0,将不发生任何事情。为此,建议在删除指针后立即把指针赋值为0以免对它删除两次。对一个对象

删除两次一定不是一件好事,这会引起问题。

//

把一个数组的起始地址定义为常量更有意义些,因为这样任何修改指针的企图都会被指出出错
int* const q = new int[10] ;


在C++中,编译器不要求我们创建typedef,而是直接把结构名转变为这个程序的新类型名(就像int、char、float、double一样

///


头文件是库的开发者与它的用户之间的合同。

/// 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值