c++之初体验——函数重载,引用,命名空间

初学c++,我们首先要了解的是c++和之前所学习的c的区别。作为面向过程和面向对象两个不同的编程语言,在很多方面它们都是类似的,但是也有一些不同。这篇文章,我会就我的理解作出一些说明。

1.返回值。c++和c第一个不同之处在于返回值的不同,在C里,如果一个函数没有指定返回值类型,那么他返回的是一个int型,而C++里,同样的情况下返回值必须要指定为void型,否则编译不会通过(此处测试软件为VS2016)

2.缺省参数。缺省参数是指在声明或者定义的时候为函数参数制定一个默认值,这个值在函数被调用的时候使用。缺省参数分为全缺省和半缺省。此处需要注意的是,缺省参数必须要慎用,一旦使用不当容易产生二义性。缺省函数只在C++中使用在C++中不被认可。

(1)缺省值必须是常量或全局变量

(2)带缺省值的参数必须放在参数表的最后面

(3)它不能同时出现在声明和定义中,二者选其一

3.函数重载。C++可以在同一个作用域中出现名字相同,参数列表(个数,类型,顺序)不同的函数,它被叫做函数重载。函数重载和函数返回值类型无关。函数重载是C++中的一个重点,在以后的博客中,我会再进行总结。

4.引用和指针。指针在C和C++中都有广泛的运用,此处指针不作具体说明,重点强调引用。

引用就是给变量起了一个别名,编译器不会重新开辟空间,引用对象和被引用对象共同使用一段内存空间。

类型 & 变量=被引用变量名     

引用的使用有几个需要注意的地方:

(1)一个变量可以有多个引用 

(2)引用一旦声明以后不能被更改,即不能再作为其他变量的引用 

(3)引用在使用时必须初始化 

(4)引用可以作为函数参数 

(5)引用可以作为函数返回值,要保证函数的生命周期,必须比main函数长,否则编译不能通过。

5.类和结构体。C中,struct是结构体的关键字,可以被声明为变量,指针或数组,可以实现较为复杂的数据结构。结构体用来实现数据的封装,让操作更安全。C语言中的结构体类比到C++中就是类,将结构体进行扩充可以实现类,类有三种访问权限,分别为public,protect,private。类中默认的成员访问权限是private,而结构体中是public。C++中的结构体声明不必有struct关键字,而C语言中必须有。

6.命名空间。C没有而C++有,C++引入命名空间主要是为了避免命名冲突(命名污染)它在使用时会定义一个新的作用域。

使用:

(1)N1::a;  

 (2)using N1::a;    

(3)using namespace N1;

命名空间的使用必须注意作用域


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值