您的位置:首页 > 编程语言 > C语言/C++

The nature of C++

2014-07-01 20:15 246 查看
就其本身而言,c++是一种非常低级的语言。唯有利用库,才能写出高层次的程序来。c++在运行时性能上做了一个很好的折中,能够在“一切都是对象”的语言与“避免任何抽象”的语言之间取得恰到好处的平衡。这就是c++的实用性。

面向对象编程固然是c++很重要的一面,而c++最重要的是模板。c++中的容器类大多数用模板写成,因其可以容纳毫无共同之处的对象,所以要求元素类型必须是某个共同基类的派生类毫无道理。除非你首先掌握了构造良好类的技术,否则急急忙忙去研究继承就是拔苗助长。

所谓的面向对象编程,就是利用继承和动态绑定机制编程。如果你知道有一个很好的程序使用了继承和动态绑定,你能做出怎样的判断?在我看来,这意味着该程序中有两个或两个以上的类型,至少有一个共同的操作,也至少有一个不同的操作。否则就不需要继承机制。此外,程序中必然有一个场景,需要在运行时从这些类型中挑选出一个,否则就不需要动态绑定机制。

如果你发现自己在程序的两个不同部分里做了相同的事情,试着把这两个部分合并到一个子过程中。如果你发现两个类的行为相近,试着把这两个类的相似部分统一到基类或模板中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: