C++入门基础

开场白

      C语言的知识我们已经学习的差不多了,下面让我们正式开始C++的知识吧,让我们开始在C++的知识海洋中遨游,我想大家都已经迫不及待的想学习C++了。

        C++进过了几十年的进化和时代更替,到现在仍然是最热门的编程语言之一,所以我们还是需要好好学习C++。 

        我们使用的编译器还是VS2022。 需要注意是,我们以前编译的文件后缀都为.C,现在我们需要把他们修改成.CPP了。

        注意我们的后缀名就行了。 

 编写"Hello  World"

        我们还回顾经典,来打印一下“Hello World”。

        和C语言的printf ("hello world"), 有所不同,C++有着属于自己的一套输入输出语言。

        除了中间的打印代码,其它的相当于是模版,现在我们记住就行了。现在看不懂的没关系,我们之后会慢慢学习的。

命名空间

        注意上面的代码,细心的同学可以发现,namespace 就是命名空间的意思。上面我们就使用了标准库中的输出函数cout
namespace的价值 

         在C/C++中,变量、函数和后⾯要学到的类都是⼤量存在的,这些变量、函数和类的名称将都存在于全 局作⽤域中,可能会导致很多冲突。使⽤命名空间的⽬的是对标识符的名称进⾏本地化,以避免命名 冲突或名字污染,namespace关键字的出现就是针对这种问题的。比如我们工作以后,需要几个同事完成一个项目,每一个人使用的变量名就可能会冲突,为了防止这种情况发生,我们的祖师爷本贾尼博士,及发明了命名空间这一概念,我们把自己的东西放在自己的命名空间里面,并取上名字,这样我们和其他人使用的时候就不会发生冲突了。

        可以看到我们打印不同明明空间里的arr,打印的字符串都不相同。 

        命名空间的本质就是一个域,它和全局域各自独立,每个域都有每个域的明明空间,不同域中的变量名都可以相同,互不影响。

         C++中域有函数局部域,全局域,命名空间域,类域;有些我们以后再将,其实我们通过它们的名字都能够多多少少了解一些了。

        namespace只能定义再全局,并且还可以嵌套定义。

        项目中有多个同名的命名空间时会自动认为是同一个命名空间。

        C++标准库都放在⼀个叫std(standard)的命名空间中,我们刚刚用的输出函数cout,就是用自std这个命名空间里的。

C++输⼊&输出

        可以看到,我们前面包含了一个文件<iostream>,iostream是Input和Output是IOStream的缩写,是标准的输⼊、输出流库,定义了标准的输⼊、输 出对象。

        std::in,是我们的输入函数,从键盘输入字符。与C语言的scanf函数相比,std::in不用去声明变量的格式,直接输入就行了。

        同样的std::out,是我们的输出函数,它把字符或者变量输出到控制台。再C语言中,和它对应的是printf函数。不管是std::in还是std::out,都不用注明变量的类型,这样下来就非常的方便了。

        std::endl是一个函数,流插入输出时,相当于一个换行符加刷新缓冲区,我们可以理解为就是C语言中的"\n"(换行符)。因为C++是兼容C语言的,所以说如果你想再C中使用"\n"去表示换行业是可以的。

         cout,cin,endl都属于C++标准库,C++标准库都放在一个叫std的标准函数库中,我们再使用的时候需要通过命名空间去使用它们。

缺省参数

        缺省参数是函数定义或者声明时,为函数参数设定一个缺省值。在调用函数的时候,如果没有实参,则默认为缺省值去参与函数的操作。缺省参数分为半缺省和全缺省

        全缺省就是全部都给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省必须从右往左给缺省值中间不能跳跃给缺省值。

        带缺省参数的调用时,必须从左到右依次给实参,不能跳跃给。

        在声明和定义分开时,我们需要在函数声明给缺省值。

可以看到我们第一个函数给了一个实参666,然后调用了函数时就打印了666的值,然后我们在第二个函数没有给任何实参,它就会打印我们在函数定义时给的参数值0。

        像这样,我们把函数修改成为了半缺省,我们就必须在函数调用的时候,输入一个值,否则的话就会报错。

 函数重载

        C++的同一作用域中可以出现同名函数,但是要求这些函数的形参不同。可以是形参的个数不同,可以是形参的类型不同。这样的C++就表现出多态的行为,使用更灵活。C语言是不支持出现同名函数的。

        

        可以看到我们第一个函数的形参和返回值都是int型,第二个函数的形参和返回值都是double型,我们在调用的时候,编译器会自动识别实参的类型,然后正确调用函数,这就是函数的重载。

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值