C++

1.了解下c++

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。



2.为什么C++支持重载?C语言不支持--重点 


在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同或类型不同),返回值可同可不同。
那么问题来了,为什么C++支持函数重载,而C语言不支持呢?
从代码的编译到运行,在VC6.0或VS这种编译器下,它是系统直接完成了翻译与链接,直接生成了运行结果。
编译器内部完成了翻译部分:
1.预处理  展开头文件,宏替换,去掉注释,条件编译 生成XX.i 文件
2.编译    检查语法,生成汇编代码  生成 XX.s 文件
3.汇编    汇编代码转成机器码    生成 XX.o 文件
4.链接    链接到一起生成可执行程序

比如函数声明:
void function(float x,float y);

在c语言中,编译器在编译后在库中的名字为_function
在c++中,编译器在编译后在库中的名字为_function_float_float

还有一个函数声明:
void  function(int x,int y);

在c语言中,编译器在编译后在库中的名字为_function
在c++中,编译器在编译后在库中的名字为_function_int_int

在链接时,都是找名字进行链接的,比如以上两个函数,
在C语言中按名字找,这两个函数的名字一样,就会在链接中报错。
C++中按函数名修饰规则找,这两个的名字不一样,所以就不会报错。

3.缺省参数 

在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。
缺省参数使用主要规则:调用时你只能从最后一个参数开始进行省略,换句话说,如果你要省略一个参数,你必须省略它后面所有的参数。
缺省分为全缺省和半缺省:
全缺省:函数的每个参数都给一个默认值 
int add(int a=10,int b=5)
半缺省:只给一部分参数给默认值,注意半缺省只能缺省右参数
int add(int a,int b=5)

4.命名空间 

给大家分享个写的挺好的关于命名空间的博客

https://www.cnblogs.com/zhoug2020/p/5972439.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值