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.原理

不会,之后再补充

相关内容

热门资讯

安卓系统自带的网页,功能与特色... 你有没有发现,每次打开安卓手机,那熟悉的系统界面里总有一个默默无闻的小家伙——安卓系统自带的网页浏览...
美咖云系统安卓版,开启智能生活... 你有没有发现,最近手机上多了一个叫“美咖云系统安卓版”的小家伙?它就像一个魔法师,轻轻一点,就能让你...
安卓系统推荐最好的手机,盘点性... 你有没有想过,拥有一部性能卓越的手机,就像是拥有了移动的宝藏库?在这个信息爆炸的时代,一部好手机不仅...
安卓11系统能精简吗,释放潜能 你有没有发现,随着手机越来越智能,系统也越来越庞大?安卓11系统,这个最新的操作系统,是不是也让你觉...
安卓自动重启系统软件,揭秘原因... 手机突然自动重启,是不是感觉整个人都不好了?别急,今天就来和你聊聊这个让人头疼的安卓自动重启系统软件...
苹果手机x刷安卓系统,探索安卓... 你有没有想过,你的苹果手机X竟然也能刷上安卓系统?是的,你没听错,就是那个一直以来都和我们苹果手机X...
安卓系统智商低吗,智商低下的真... 你有没有想过,为什么安卓系统的智商总被调侃得好像有点低呢?是不是觉得它总是慢吞吞的,有时候还犯点小错...
安卓系统手机联系人,揭秘你的社... 你有没有发现,手机里的联系人列表就像是一个小小的社交圈呢?里面藏着我们的亲朋好友、工作伙伴,甚至还有...
安卓系统免费铃声下载,打造个性... 手机里那首老掉牙的铃声是不是让你觉得有点out了呢?别急,今天就来给你支个招,让你轻松给安卓手机换上...
安卓系统用哪个桌面好,打造个性... 你有没有发现,手机桌面可是我们每天都要面对的“脸面”呢?换一个好看的桌面,心情都能跟着好起来。那么,...
虚拟大师是安卓10系统,功能与... 你知道吗?最近在手机圈里,有个新玩意儿引起了不小的轰动,那就是虚拟大师!而且,更让人惊喜的是,这个虚...
安卓系统与苹果优缺点,系统优缺... 说到手机操作系统,安卓和苹果绝对是两大巨头,它们各有各的特色,就像两道不同的美味佳肴,让人难以抉择。...
安卓win双系统主板,融合与创... 你有没有想过,一台电脑如果既能流畅运行安卓系统,又能轻松驾驭Windows系统,那该有多爽啊?没错,...
安卓系统可精简软件,轻松提升手... 你有没有发现,手机里的安卓系统越来越庞大,软件也越装越多,有时候感觉手机就像个“大肚子”,不仅运行速...
安卓系统基于linux的代码,... 你有没有想过,那个陪伴你每天刷抖音、玩游戏、办公的安卓系统,其实背后有着一套复杂的基于Linux的代...
苹果和安卓的拍照系统,谁更胜一... 你有没有发现,现在手机拍照已经成为我们生活中不可或缺的一部分呢?无论是记录生活的点滴,还是捕捉美丽的...
苹果和安卓系统不同吗,系统差异... 你有没有想过,为什么你的手机里装的是苹果的iOS系统,而朋友的手机却是安卓系统呢?这两种系统,看似都...
安卓系统有多少级,揭秘其多级架... 你有没有想过,那个陪伴我们日常生活的安卓系统,它其实有着丰富的层级结构呢?没错,就是那个让我们的手机...
华为鸿蒙系统与安卓的,技术融合... 你知道吗?最近科技圈可是炸开了锅,华为鸿蒙系统与安卓的较量成为了大家热议的话题。这不,今天我就来给你...
什么安卓手机是苹果系统,搭载苹... 你有没有想过,为什么有些人宁愿花大价钱买苹果手机,而有些人却对安卓手机情有独钟呢?其实,这个问题背后...