C++入门(上)

C++入门

  • 关键字
  • 命名空间
  • c++的输入和输出
  • 缺省参数
  • 函数重载

还有一些知识点,明天更新哦。
防止走丢,记得关注一下!(嘻嘻)

c++关键字

c++共计63个关键字,C语言是32个关键字
因为我们这是入门,先了解下共有多少关键字,等后面学到再详讲。在这里插入图片描述

命名空间

命名空间,需要使用到namespace,定义的是一个域,在中可以定义变量函数或者是嵌套命名空间。
它的作用是解决了c语言中命名冲突问题。

说到这,就引出一个问题,就是许多人一开始遇到的。

#include <iostream>
using namespace std;
int main()
{
   ....//省略
}

很多人都会看到教材上直接给你来了个这个让你打,但是你不知道前面开头是什么意思,今天我们就来看看这个。
在这就相当于c语言中的stdio.h头文件,那using namespeca std;翻译过来的意思就是使用std命名空间,那这个“std”是什么呢?
原来C++为了防止命名冲突,把自己库里面的东西都定义在一个叫std的命名空间中了。

现在我们来看看命名空间的使用

namespeca N1
{
   int a;//定义变量
   int Add(int left,int right)//定义函数
   {
       return left+right;
   }
   //嵌套
   namespeca N2
   {
      int b;
      int Sunwed(int left,int right)
      {
       return left-right;
      }
   }
}
//同一个文件中允许存在多个相同名的命名空间,最后合成同一个域

命名空间的定义,我们了解后,我们来了解下它的使用。

命名空间的使用

命名空间的使用方法有三种:

  1. 指定命名空间
int main()
{
   printf("%d",N::a);
   return 0;
}

最规范的格式,缺点就是麻烦,每个地方都要指定

  1. 使用using namespeca命名空间名称引入
    相当于库里的东西都到全局域中。
using namespeca N;
int main()
{
  //当然这里也可以指定命名空间
  printf("%d",b);
  printf("%d",N::a);
  Add(1,5);
  return 0;
}

虽然这个方式用起来很爽,但是它有个弱点,如果我们展开了两个命名空间,巧了,里面正好有两个相同命名的,那就不是又一夜回到解放前了嘛?所以这个方法不怎推荐。
3. 用using对部分常用的库里面的东西进行展开

//这里展开要一行一个,不能一行搞定
using N::b;
int main()
{
  printf("%d",N::a);
  printf("%d",b);
  return 0;
}

C++输入和输出

#include <iostream>
using namespeca std;
int main()
{
   cout<<"Hello World!"<<endl;
   return 0;
}

使用cout标准输出(控制台)和cin标准输入(键盘)时,必需包含 头文件以及std标准命名空间。
endl是全局的换行符号。

缺省参数

声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该
默认值,否则使用指定的实参。看起来是不是很像备胎?

void TestFunc(int a = 0)
{
 cout<<a<<endl;
}
int main()
{
 TestFunc(); // 没有传参时,使用参数的默认值
 TestFunc(10); // 传参时,使用指定的实参
}

其中缺省参数也又有分类
缺省参数的分类

  1. 全缺省参数
    全部参数都有默认值
void TestFunc(int a = 10, int b = 20, int c = 30)
{
 cout<<"a = "<<a<<endl;
 cout<<"b = "<<b<<endl;
 cout<<"c = "<<c<<endl;
  1. 半缺省参数
void TestFunc(int a, int b = 10, int c = 20)
{
 cout<<"a = "<<a<<endl;
 cout<<"b = "<<b<<endl;
 cout<<"c = "<<c<<endl;

部分参数没有默认值,必须是从右往左缺省,并且是连续的。

学完后,让我们进入今天最后一个知识点

函数重载

函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数。
函数重载的要求是参数个数或类型或顺序必须不同。

int Add(int left, int right)
{
 return left+right;
}
double Add(double left, double right)
{
 return left+right;
}
long Add(long left, long right)
{
 return left+right;
}
int main()
{
 Add(10, 20);
 Add(10.0, 20.0);
 Add(10L, 20L);
 
 return 0;
}

这就是今天所有的内容了,明天更新新的哦。
我还有很多树据结构的博客还没有写呢,加油哦。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值