C++入门内容

1.命名空间

1.1命名空间定义

定义:在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存 在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化, 以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

namespaces(命名空间):定义命名空间(私有)

namespaces pop{//一般开发中用项目名字做命名空间名
                int rand = 0;
               }

1.2命名空间使用

namespace pop
{
 int a = 0;
 int b = 1;
 int Add(int left, int right)
   {
     return left + right;
    }
}
int main()
{
 printf("%d\n", a);
return 0;
}//编译报错

命名空间有三种使用方式:

1.域作用限定符
int main()
{
    printf("%d\n", N::a);
    //到指定空间去查找
    return 0;    
}
2.使用using将命名空间中某个成员引入
using N::b;
//指定展开某一个
int main()
{
    printf("%d\n", N::a);
    printf("%d\n", b);
    return 0;    
}
3.使用using namespace命名空间名引入
using namespce N;
//展开命名空间
int main()
{
    printf("%d\n", N::a);
    printf("%d\n", b);
    Add(10, 20);
    return 0;    
}

ps:命名空间域修饰全局不影响生命周期,局部域和全局域影响声明周期。

2.C++输入和输出

2.1头文件

在C语言中我们要想实现输入和输出,我们需要引用头文件,在C++中同样需要,在C++代码中我们经常看见C++代码的开始有我们常见的include开头的一行代码这个是我们学过的引用头文件,还要一行是我们刚刚了解过的using namespace展开命名空间,这个并不属于头文件,但是我们在很多C++代码中都会看到他

//头文件
#include<iostream>
// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
using namespace std;

2.2输出和输入

1.在C语言中我们学过输出,是使用printf这个在C++中我们也是兼容的,只是需要我们引用头文件 stdio.h。在C++中我们接触到一个新的输出就是cout这其中C的完整单词是console他的意思是控制台,out就是输出在控制台输出就组成了我们C++的输出语。同理我们就能理解C++的输入cin了。

2.与cout和cin两个同时出现的>>和<<我们在C语言中也学过,代表移位操作符,在C++中我们>>表示流插入运算符,<<表示流提取运算符。

3.使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。 C++的输入输出可以自动识别变量类型。

#include <iostream>
using namespace std;

int main()
{
   int a;
   double b;
   char c;
     
   // 可以自动识别变量的类型
   cin>>a;
   cin>>b>>c;
   cout<<a<<endl;//特殊符号表示换行,同理\n
   cout<<b<<" "<<c<<endl;
   return 0;
}

3.缺省参数

3.1概念

缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参。

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

3.2分类

1.全缺省参数
void Func(int a=10,int b=20,int c=30)
{
    cout<<"a="<<a<<endl
    cout<<"b="<<b<<endl
    cout<<"c="<<c<<endl
    cout<<"d="<<d<<endl
}
int mian()
{
    Func(1,2,3);
    Func(1,2);//必须顺序传参,不能跳跃传。
}
2.半缺省参数
void Func(int a, int b = 10, int c = 20)
 {
     cout<<"a = "<<a<<endl;
     cout<<"b = "<<b<<endl;
     cout<<"c = "<<c<<endl;
 }//只能从右往左缺省

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值