C++基本概念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Tian_Luo_Girl/article/details/80966965

1.区别C语言与C++

C++是作为C语言的增强版出现的,并且增添了许多新特性。

C语言支持
基本类型&变量
运算符&表达式
语句控制
函数&程序控制
指针&数组
结构体
I/O输入输出
C库
C++支持
C语言
类&对象
继承&多态
模版&泛型编程
异常处理
C++库&标准模板库

C++兼容C语言,继承了C语言的优点同时又弥补了许多C语言的不足之处。

2.函数重载

函数重载是在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同。
C++支持函数重载,而C语言不支持。
这是因为C++函数名修饰规则,把参数类型首字母放到函数名后,符号表中的重载函数名就不同,因此支持重载。
而C语言没有将参数类型首字母加入函数名中,仅用函数名来区分函数,因此不支持重载。

3.缺省参数

C++支持缺省参数,缺省参数就像备胎一样,当有实参时缺省参数就没什么作用,没有实参传过来时,就使用缺省参数。
可以一部分缺省也可以全缺省:

int Date(int year=1990,int month=1,int day=1);
int Date(int year,int month=1,int day=1);

注意:半缺省的缺省值必须是从右往左,而且是连续的。
缺省参数可以在定义中,也可以在声明中。
但最好只在声明中设置缺省参数,这样做
1.直观
2.方便修改
不能在声明和定义同时定义缺省参数值,这样编译器将不能确定使用哪组缺省值。

4.命名空间

C++命名空间域解决全局命名冲突的问题,它相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来,并以关键字namespace开头给它起一个名字:

namespace name
{
    int n=0;
}

标准C++库中所有组件都是在一个被成为std的命名空间中声明和定义的。
使用标准C++库中的成员方式有两种:
1.使用using namespace std;
2.std::成员

猜你喜欢

转载自blog.csdn.net/Tian_Luo_Girl/article/details/80966965