C++是从C语言发展而来的一种面向对象的编程语言。C++在保留C语言的基础上加入了面向对象的特性,如封装、继承、多态等。与C语言相比,C++的主要不同点如下:
-
面向对象编程:C++中引入了类、继承、多态等面向对象编程的概念,这在C语言中是没有的。
-
类型检查:C++是一个强类型的编程语言,要求变量和函数的类型一致。当发现类型不匹配时,编译器会报错,这可以减少程序出错的可能性。
-
STL(Standard Template Library):C++中的STL是一组模板库,包含了众多的数据结构和算法,它们可以大大提高程序的效率。
-
运算符重载:在C++中,可以通过运算符重载的方式改变某些运算符的默认行为,使它们适用于自定义类型。
-
异常处理:C++中可以通过异常机制处理程序中的错误,从而使程序更加健壮。
示例1:
C语言的代码:
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int sum = a + b;
printf("sum = %d\n", sum);
return 0;
}
C++语言的代码:
#include <iostream>
using namespace std;
int main()
{
int a = 10;
int b = 20;
int sum = a + b;
cout << "sum = " << sum << endl;
return 0;
}
在C++中,我们使用iostream中的cout来进行输出,而不是使用C语言中的printf。
示例2:
C语言的代码:
#include <stdio.h>
int max(int a, int b)
{
if(a > b)
return a;
else
return b;
}
int main()
{
int a = 10;
int b = 20;
int c = max(a, b);
printf("max = %d\n", c);
return 0;
}
C++语言的代码:
#include <iostream>
using namespace std;
int max(int a, int b)
{
if(a > b)
return a;
else
return b;
}
int main()
{
int a = 10;
int b = 20;
int c = max(a, b);
cout << "max = " << c << endl;
return 0;
}
在C++中,我们也可以使用iostream中的cout来进行输出,但必须导入命名空间来避免重名。另外,C++中的函数声明和定义语法与C语言略有不同。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++与C语言有什么不同? - Python技术站