【C++】C++入门介绍

C++与C:

C++是C的增强版,C几乎是C++的一个子集,所以C语言支持的语法在C++基本都支持并需要使用。

为什么C++支持重载,C语言不支持?

1.函数重载:在同一作用域类,一组函数的函数名相同,参数列表不同(个数/类型不同),与返回值无关。不仅函数可以重载,

运算符也可以重载。

注意:main函数不能重载,因为程序的入口只有一个。

2.翻译过程一般分为: 预处理—-编译——汇编——链接 

预处理:展开头文件,宏替换,去掉注释,条件编译等工作。生成.i文件 

编译:语法检查,生成汇编代码。 生成.s文件 

汇编:将汇编代码转成机器码 。 生成.o文件 

链接:将之前生成的文件链接到一起,生成可执行文件。 生成.out文件

如果有多个.c文件,注意 在链接之前各文件都是独立向下进行的,各文件之间没有交集。

所以支持重载问题就出在链接这个阶段上,c语言在链接的时候根据函数名找要调用的函数,而c++而是根据函数名和参数类型来寻找

要调用的函数(函数名修饰规则);

缺省参数 

在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。缺省分为全缺省

和半缺省

全缺省:函数的每个参数都给一个默认值 

int add(int a=5,b=1)

半缺省:只给一部分参数给默认值,注意半缺省只能缺省右参数。 

int add(int a,int b=1)


命名空间

名字空间域是随标准C++而引入的。它相当于一个更加灵活的文件域(全局域),可以用花括号把文件的一部分括起来,以关键字

namespace开头给它起一个名字:

namespace name{
   int a=0;
}
name::a=10;
命名空间域解决全局命名冲突的问题。

猜你喜欢

转载自blog.csdn.net/moralin_/article/details/80867609
今日推荐