第1个回答 2016-08-30
C++ 是脱胎自 C 语言的一种中级语言. 从计算机角度看, 它可以嵌入ASM等低端语言; 从面向对象的程序设计角度看, 它有具备OOP的三个基本特征 -- 抽象, 封装和继承; 同时从市场角度来看, 它又不是纯面向对象, 其实那些纯粹的面向对象语言的阵地只是在实验室.
比较C语言. C++ 的几个显著变化或者解决的问题就是
1. 名字空间的问题, 原始的C语言使用公共的名字空间, 这样无论是开发本人还是第三方团队都面临变量名字耗尽的问题. 而C++提供独立的名字空间, 而且对象的引入也为名字空间提供了进一步划分
2. 代码复用的问题, C语言使用函数库的方式或者DLL方式实现代码复用, 在接口稳定的前提下实现内部修改和数据及其实现的封装. C++提供了类库机制实现了具有层次的代码复用, 和多种继承机制, 同时重载等各种机制提供了进一步的复用实现. 使得类库和代码更加容易维护, 虽然建立类库在人员, 组织等各个方面还是比较麻烦的.
3. 安全机制. 因为有了类机制, 有一些初始化操作可以自动实现
4. 效率问题. 因为C语言本质上是站在计算机立场的非常注重效率的问题, 但是事物总是具备矛盾的两面, 过于偏重效率和软件危机的出现, 反而增加了程序设计的难度. 而OOA的现实世界角度的考虑问题更加贴近自然, 使得代码或者程序更加具备稳定性, 可扩展性和可维护性.
为此, 和经典物理同量子物理一样. C/C++ 今天在不同领域各自发挥着最大的效率.本回答被提问者采纳
第2个回答 2008-06-02
C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。C++是具有国际标准的编程语言,通常称作 ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C++0x。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准(这么说也是不完全正确的,事实上,至今为止没有任何一款编译器完全支持ISO C++)。
另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。
第3个回答 2023-04-26
C++是在C语言的基础上加入了“类”的概念以及“对象”的概念,所以C++是面向对象的编程语言。而VC++是在C++的基础上加入了对windows可视化(窗口化以及控件)操作的支持,所以它也是面向对象的编程语言,是一种协助用户使用c++语言设计软件的工具。所以学习VC++之前要学习C++。学习阶段:
首先要做的是通过C/C++语言的学习培养编程思维和动手能力,深刻理解面向过程和面向对象的思想方法。这个阶段你需要学习:① C语言数据类型、变量、内存布局、指针基础;字符串、一维数组、二维数组;一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针;结构体、文件的使用;动态库的封装和设计;函数指针回调函数。② C++语言面向对象编程思想;类的封装,构造和析构、静态成员、对象管理;类的构造(有参构造函数、无参构造、拷贝构造、默认构造函数)和析构;对象动态管理、友元函数、友元类、操作符重载;C++编译器对象管理模型分析;类对象的动态管理(new/delete);友元函数和友元类;运算符重载(一元运算符、二元运算符、运算符重载难点、项目开发中的运算符重载);类的继承、多继承及其二义性、虚继承;多态(概念、意义、原理剖析、多态案例);虚函数、纯虚函数、抽象类(面向抽象类编程思想案例);函数模板、类模板,模板的继承;C++类型转换;C++输入输出流(标准I/O 文件I/O 字符流I/O);C++异常处理(异常机制、异常类型、异常变量、异常层次结构、标准异常库);扩展资料: C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。参考资料: