文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c++与c的不同点...

c++与c的不同点...

时间:2010-08-13  来源:shihaojie1219

函数的多态,虚拟函数,函数重载,运算符的重载其实都是同一个概念,即同一个函数名或运算符,具有不同的功能。函数重载和运算符重载是编译器能识别的,因此在编译时将它们变成了不同的函数,所以把重载称为编译时的多态。虚拟函数的多态在编译时不能识别,运行时才表现出不同功能,称为运行时的多态。这是需要熟练掌握的内容。

从模板扩展到标准模板库(STL),使C++语言实用功能一下子增加了许多。早期C++还不支持的名字空间,这使得C++在发展了几十年后仍能跟上时代潮流。例外处理是大工程项目必需的功能,也是C语言在开发大项目方面的缺陷之一。实时类型取得(Run-Time Type identification)和类型强制符(dynamic_cast)更是C语言没有的,此外,在输入出方面C++还增强改进了许多功能。

面要列举的是C和C++不相同的地方。

一、书写风格

二、变量和函数原型的申明

C语言中函数的原型申明是被建议的,但调用处后面的函数的确可以不申明。C++中则不论函数定义的先后,必须事先申明。另一方面,局部变量的定义,C语言要求必须在函数体的开始部分,某一语句之后再定义变量是错误的,而C++则没有这一限制。

三、其它不同点

C++语言是C语言扩展而来,C程序自然可以直接使用,但的确仍有一些不同之处。

  1. C语言中,字符常量被当作整数,而C++语言中不是,字符常量就当作字符。这虽然很小,但却是重要的一点。
  2. C语言中全局变量多次定义虽不好,却不出错。C++语言中则出错。
  3. C语言命名限制在31个有效字符,C++语言中没有限制,但太长了使用不方便。
  4. C语言中main()函数也能被调用,当然这不是好方法。C++语言中main()被禁止调用。
  5. C语言中不能取寄存器变量的地址,C++语言中可以。
  6. C语言中没有bool类型,wchar_t是宏定义,C++语言中,增加了bool基本类型和wchar_t扩展类型。
  7. C语言中用结构体定义变量时,“struct 结构体名 变量名”,在C++中“struct”可以省略。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载