💒前言
学习本章内容需要掌握C
语言{
类型、循环、函数、结构体、指针
}等内容 建议学完C
再看
希望对从来没有接触过C++
只是听过的小白 有些帮助
——我并不专业,也是正在学习C++
的小学生!
🧸什么是C++
C++是C升级而来,所以C++程序兼容C的大部分代码!
🧸初识C++代码
先看一段C的代码
#include <stdio.h>
int main()
{
printf("hello world!");
}
这段代码很简单,#include <stdio.h>
是printf
函数的头文件,包含头文件,printf
打印函数才可以在屏幕上打印;
并且打印其他类型需要自己指定例如:
int a = 10;
printf("%d\n",a);
下面是C++的代码
#include <iostream>
using namespace std;
int main()
{
cout <<"hello world!"<< endl;//流插入
return 0;
}
解释以下上面的代码,
#include <iostream>
是C++
的库,io
意为输入输出;stream
意为流。
——————可以称之为 输入输出流
using namespace std;
要解释这句 ,你需要先知道命名空间
这个功能,下面会讲
cout <<"hello world!"<< endl;
,cout
:流插入;endl
:换行符;
此句意为 将"hello world!"
字符串流向cout
,也就打印在了屏幕上,后面是将 endl
流向cout
; 后面会详解
🧸命名空间
关键字:namespace
命名空间:可以理解为 变量、函数 的名字的作用域
在C++的库中 都是将函数的实现 封装起来 为了防止命名冲突
用法
namespace N
{
int a = 10;
int Add(int left, int right)
{
return left + right;
}
}
int main()
{
printf("%d\n", a); // 该语句编译出错,无法识别a
return 0;
}
上述代码 是无法识别到a的,因为a 不在main函数中,也不再全局变量中,而是封装在N的命名空间中
main函数找a的顺序:先找局部,再找全局
如何找到a
::
作用域运算符
在a前面加上命名空间 N和作用域运算符::
int main()
{
printf("%d\n", N::a);
}
展开命名空间
关键字:using
展开后 命名空间失效 ,内部代码全部暴露
此时可以解释using namespace std;
是什么意思
展开名字叫std
的命名空间,因为不展开 所有的对象都用不了
也可以展开部分对象
using std::cin;
//展开cin - 流提取,接收变量的 与scanf作用相同
using std::cout;
//展开cout - 流插入 ,打印变量的 与printf作用相同
cout、cin是一个ostream类的对象
对象
类似C中的结构体,在C++中叫对象
🧸输入、输出
你可以复制这段代码 测试一下
#include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
cout<<a<<endl;
return 0;
}
输入 a 的数值,并打印 ,在c++中打印会自动识别类型
🧸缺省参数
在定义函数时 可以提前给定数值,传参时可以少传参数、或者不传参数
void TestFunc(int a = 0)
{
cout<<a<<endl;
}
int main()
{
TestFunc