这篇博客建立在c的基础之上进行c++入门的讲述,来实现从c到c++的过渡
命名空间
对于C语言的编写,一个项目到后期一定会有许多变量、函数、类,它们存放于全局作用域之中,可能会引起许多命名冲突,因此c++创立了namespace即命名空间来避免这个问题
命名空间的定义
命名空间的关键字为namespace,定义方法如下
namespace lisi
{
int x;
int func()
{
printf("hello world");
return 0;
}
struct node
{
int name;
int age;
};
namespace wangwu
{
};
};
可以将命名空间理解为用户自己建立的一个作用域,这个作用域中能够存放用户创建的变量、函数和类等,并不会与其他作用域产生冲突
注意:命名空间中的所有内容都仅局限于该命名空间中;命名空间允许嵌套
命名空间的使用
我们需要先知道一个符号“ :: ”,这是域作用限定符
有以下三种方法来使用命名空间中的内容
1.加域作用限定符
printf("%d",lisi::x);
2.使用using关键字
using lisi::x;
3.使用using namespace将域展开
using namespace lisi;
输入、输出
对于c++,它输入与输出的方式为 cout 和 cin,使用时需要包含头文件<iostream>,还要用到c++库函数的命名空间std
#include<iostream>
using namespace std;
int main()
{
int x;
cin>>x;
cout<<x<<endl;
return 0;
}
注意
1.endl为特殊符号,表示换行
2.使用cin输入时需要流提取符>>,而使用cout输出时需要使用流插入符<<
3.c++的输入输出很方便,可以自动识别输入和输出的类型,不需要手动规定输出格式
缺省函数
对于需要输入参数的函数,在c++中可以规定缺省值,调用该函数时,没有传入参数就使用规定的默认参数,否则就使用传入的参数
int add(int x = 4,int y = 5)
{
printf("%d",x+y);
}
int main()
{
add();
return 0;
}
缺省函数分类
缺省函数分为全缺省和半缺省
全缺省函数
int add(int x = 4,int y = 5,int z = 6)
{
printf("%d",x+y+z);
}
半缺省函数
int add(int x = 4,int y = 5,int z)
{
printf("%d",x+y+z);
}
注意:
1.对于半缺省函数,只能从右往左依次给出,不能跳过某个形参
2.C语言不支持缺省函数
3.缺省的值需要是全局变量或者常量