C++入门(一)
创始人
2024-05-06 01:43:33
0

目录

一.   关键字

二.   命名空间

三.   输入&输出

1.输出

2.输入

四.   缺省参数

1.全缺省参数

 2.半缺省参数

五.   函数重载

1.类型

 2.原理


一.   关键字

简单了解一下都有哪些关键字



二.   命名空间

在c语言的学习之中,我们知道,在同一个作用域中,我们无法使用相同的名字进行命名。也无法使用库中的名字进行命名。

而在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存
在于全局作用域中,很有可能会导致冲突。而我们可以使用命名空间来解决这个问题,使用命名空间的目的是对标识符的名称进行本地化,

以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

namespace szt
{}

例如,我们可以定义一个名为szt的命名空间

而命名空间中可以定义变量/函数/类型

namespace szt
{int rand=10;//变量int add(int a,int b)//函数{return a+b;}struct sList//类型{int cal;struct sList* next;}
}

同时,命名空间可以嵌套使用

namespace szt1
{int rand=10;namespace szt2{}
}

而在同一个工程之下,同名的命名空间会被合并。例如头文件和源文件中的同名命名空间。

而若是想要使用命名空间的成员,有3种方法

1.前面加命名空间名称以及作用域限定符

namespace szt
{int a=10;//变量int add(int a,int b)//函数{return a+b;}struct sList//类型{int cal;struct sList* next;};
}int main()
{struct szt::sList SL;printf("%d\n",szt::a);
}

2.使用using引入某个成员

using szt::a;int main()
{printf("%d\n",a);
}

3.使用using namespace 命名空间名称 引入

using namespace szt;int main()
{printf("%d",a);
}

而第一种方法能够做到最好的隔离,但使用较为麻烦

第二种方法也能做到较好的隔离,在使用一些常用的成员时较为方便

第三种方法最方便,但会导致隔离失效,引发一些问题

例如在我们常见的一些代码中,在引用输入输出流的头文件后

#include

往往会使用第三种方法来展开一个std命名空间(C++库的实现定义)

using namespace std;

这种方法,在我们自己练习时会很方便,但若是在公司中进行大的项目的实现时,不要这样使用。



三.   输入&输出

1.输出

我们可以先实现一下我们的老朋友Hello world

#include
using namespace std;
int main()
{cout<<"Hello world!!!"<

 

在其中,iostream 和std 我们在上面已经提到过,这里补充一点,早期我们直接引用头文件即可

#include

而后来,为了与c语言进行区别,我们便如上述代码样式进行头文件的引用。

cout用于输出,<<为流插入运算符,endl表示换行输出

因此,我们也可以这样

cout<<"Hello world!!!\n";

而当输出存在参数时,cout能做到自动识别变量类型,并识别浮点数的小数位

#include
using namespace std;
int main()
{float a=1.23;  char b='b';cout<


2.输入

在C++中,我们使用cin进行输入,同样,cin也能自动识别变量类型

int main()
{int a;double b;char c;    cin>>a;cin>>b>>c;return 0;
}

而>>是流提取运算符



四.   缺省参数

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

而缺省参数分为全缺省参数,半缺省参数

1.全缺省参数

字面意思,便是所有参数都有缺省值

void print(int a = 10, int b = 20, int c = 30)
{cout<<"a = "<

而在存在部分的参数时,严格遵循从左向右的原则

无法做到c存在参数而a,b没有参数的类似的情况

print(1, ,3);//error

 2.半缺省参数

其实就是部分缺省

而在半缺省参数中,我们必须严格遵循从右往左依次给出

void print(int a, int b, int c = 30)//right
{cout<<"a = "<

注意:缺省值必须是常量或者全局变量 

缺省参数不能在函数声明和定义中同时出现,而别人在查看代码功能时,往往会去首先查看头文件来了解各个函数的功能,所以我们一般将缺省参数放在函数的声明之中,也就是头文件中。



五.   函数重载

函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这
些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型
不同的问题。

1.类型

参数类型不同

int Add(int left, int right)
{cout << "int Add(int left, int right)" << endl;return left + right;
}double Add(double left, double right)
{cout << "double Add(double left, double right)" << endl;return left + right;
}int main()
{cout<

参数个数不同

int Add(int num1, int num2, int num3)
{cout << "int Add(int num1, int num2, int num3)" << endl;return num1+num2+num3;
}int Add(int num1, int num2)
{cout << "int Add(int num1, int num2)" << endl;return num1+num2;
}int main()
{cout<

 

参数类型顺序不同

void f(int a, char b)
{cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{cout << "f(char b, int a)" << endl;
}int main()
{f(1, 'a');f('a', 1);return 0;
}

而单纯的返回值不同无法作为函数重载的条件。

 2.原理

不会,之后再补充

相关内容

热门资讯

emui 安卓系统对应关系,E... 你有没有发现,每次打开你的华为手机,那个界面看起来是不是特别顺眼?那是因为华为的EMUI系统,它就像...
永诺安卓系统相机,功能解析与使... 你有没有发现,手机拍照已经成为我们生活中不可或缺的一部分?而在这其中,永诺安卓系统的相机功能可是相当...
tinder安卓版系统错误,揭... 最近在使用Tinder安卓版的时候,你是不是也遇到了一些让人头疼的系统错误呢?别急,今天就来和你聊聊...
htc安卓系统怎么更新系统,轻... 亲爱的HTC安卓用户们,你是不是也和我一样,时不时地想给手机来个“大变身”,让它焕然一新呢?没错,今...
安卓最新发布系统,颠覆性更新与... 你知道吗?最近安卓系统又来了一次大变身,这可是科技圈里的大事哦!安卓最新发布的系统,简直就像是一个全...
华为不升级安卓系统,开启自主操... 你知道吗?最近有个大新闻在科技圈里炸开了锅,那就是华为决定不再升级安卓系统!这可不是一个小决定,它背...
安卓保护系统停止运行,紧急排查... 亲爱的手机用户们,你们有没有遇到过这样的情况:手机突然间变得不正常了,安卓保护系统竟然停止运行了?这...
安卓系统记录仪,智能行车安全守... 你有没有想过,开车的时候,那些瞬间发生的事情,就像电影里的精彩片段,一闪而过,却让人回味无穷?别急,...
安卓13系统怎样升级,全面解析... 你有没有发现,你的安卓手机最近是不是有点儿“蔫儿”了?别急,别急,我来告诉你怎么给它来个“大变身”—...
安卓手机进去系统花屏,安卓手机... 手机屏幕突然花屏了,是不是瞬间感觉整个世界都变得不美好了呢?别急,今天就来和你聊聊安卓手机进入系统时...
安卓手机 系统怎么更新,体验最... 亲爱的手机控们,你是不是也和我一样,时不时地想给安卓手机来个“美容”大变身呢?没错,说的就是系统更新...
妈妈手机推荐安卓系统,安卓系统... 亲爱的妈妈们,是不是在为给家里的宝贝挑选一款合适的手机而烦恼呢?别急,今天我就来给你详细介绍一下几款...
oppo安卓版系统设置,全面解... 亲爱的手机控们,你是不是也和我一样,对OPPO安卓版系统的设置充满了好奇?想要让你的OPPO手机更加...
安卓系统是什么cp,CP架构下... 你有没有想过,你的手机里那个默默无闻的安卓系统,其实就像是一个超级贴心的CP(情侣搭档)呢?没错,就...
系统垃圾清理大师 安卓,安卓手... 手机里的垃圾文件是不是让你头疼不已?别急,今天我要给你介绍一位安卓系统里的“清洁小能手”——系统垃圾...
安卓系统分为几层,安卓系统分层... 你知道吗?安卓系统,这个陪伴我们手机生活的“小助手”,其实它内部结构可是相当复杂的呢!今天,就让我带...
系统最像苹果的安卓,揭秘最像苹... 你有没有发现,现在的安卓手机越来越像苹果了?没错,就是那个以简洁设计和流畅体验著称的苹果。今天,就让...
安卓更新13系统游戏,性能升级... 你知道吗?最近安卓系统又来了一次大变身,那就是安卓13系统!这次更新可是带来了不少惊喜,尤其是对那些...
安卓系统开机出错了,安卓系统开... 手机突然开不了机了,这可怎么办?别急,让我来帮你分析一下安卓系统开机出错的那些事儿。一、安卓系统开机...
vovg是安卓系统吗,安卓系统... 你有没有听说过Vovg这个操作系统?最近,这个名词在数码圈里可是引起了不小的热议呢!很多人都在问,V...