第4个回答 2009-04-17
区别太多了,很难在这里讲。
虽然说C++会兼容C,但很多细节更加严格了,一些习惯C的程序员很难适应,编译器都不能编译C程序,需要做修改何来兼容可说?!最多是格式上的50%兼容。
cout<< “abc” 的形式只是标准库中一个“运算符重载函数”(不属于面向对象特性),相当于这样一个以符号为名称的函数: <<(filehandle, string)、 <<(filehandle, int)等等。
面向对象编程的一个目的是让团队编程更容易。人家写好了一个“类”,我作为主骨架程序员,学习一下类的特性就可以放到自己的程序里运用,我不需要知道类的实现方法。同时出了问题也比较容易知道是那个类出了问题,代码修改范围缩小了。
但在实际编程中真是这样了吗?!如果主程序的逻辑出问题,分配给写“类”的程序员的任务往往会“重新分配”,也会造成大面积代码修改!
我认为要实现一个逻辑设计精良的程序,用C++并不比C方便很多(方便了一点点而已)。