目录
1.C++的概念:
C++是一门面向对象的高级语言,由面向过程的C语言发展而来,C++是C的超集,他引入了面向对象式编程感念、提高了编程速率,降低了编程成本,比C语言更安全更快捷,使得程序员更专注于开发产品本身,不在关注与语法和底层性能,资本家更关心的是开发周期,因此他变得流行起来。
2.头文件的引入
头文件是已经封装好的程序包,有利于提高开发速率,没必要重造车轮,学会用他就够了,C++有很多标准头文件和第三方头文件,也可以自己封装自己的特定功能函数的头文件
//头文件有两种引入方法
//(一)新标准中
#include <iostream>//C++标准输入输出头
//(二)旧标准中
#include <iostream.h>//C++标准输入输出头
//还可以引入C语言中的头文件,也是有两种方法
//(一)新标准中
//<stdio.h> 新标准中C语言库的名称前面加"c" 去掉后面的“.h”
#include <cstdio>//C标准输入输出头
//(二)旧标准中
#include <stdio.h>//C标准输入输出头
3.C++中的输入-输出语句
C++中输出语句是cout 、输入语句是cin
#include <iostream>//C++标准输入输出头
using namespace std;//声明命名空间
//C++程序入口、一个C++项目中必须有一个main()函数,只能有一个
int main()
{
string temp;//定义一个字符型变量temp
// cout在控制台中打印"Hello World!",endl是换行、等同于C语言中的‘\n’
// "<<"这个符号是指定流方向,我们这里要指向输出流cout
cout << "Hello World!"<<endl;//输出内容到屏幕中
// cin是从键盘流中获取数据
// “>>”这个符号是指定流方向,我们这里要从cin输入流指向变量temp
cin >> temp;
//打印temp变量中的内容到屏幕,并且换行
cout << temp << endl;
}
以上代码输出结果为:
4.C++中的命名空间(namespace)
1.命名空间的定义
命名空间的成员可以是变量,也可以是常量、函数(在C++里叫 “方法”)
//namespace创建命名空间的关键字 + 命名空间的名字 +花括号{ 里面是成员 }
namespace A {//命名空间A
int a = 666;
}
2.命名空间的嵌套使用
//命名空间的嵌套使用
namespace C {//命名空间C
namespace A {
int a = 111;
}
}
//访问里面的成员变量a
cout<<C::A::a<<endl;
3.命名空间的命名空间的可加性
在上面已经定义好的命名空间A中添加新成员变量b
//命名空间的命名空间的可加性
//在上面已经定义好的命名空间A中添加新成员变量b
namespace A {//在任何位置直接定义已经有的命名空间 ,添加新的成员
int b = 666;
}
4.命名空间还可以放函数(方法)
//命名空间还可以放函数(方法)
namespace D {
void fun()
{
cout << "D::fun()" << endl;
}
}
//命名空间中的函数(方法)的引用
5.命名空间中的函数还可以再外部定义
//命名空间中的函数还可以再外部定义
namespace E {
int a = 222;
void fun();//在这儿声明一下
}
//在这儿定义命名空间中的成员函数(也就是方法)
void E::fun()
{
cout << "E::fun() 在命名空间外面定义的函数!" << endl;
cout << "a = " << a << " 命名空间中的成员函数可以直接用命名空间中的变量和方法,不需要加作用域 :: 符号" << endl;
}
//命名空间中外部定义的函数的引用
E::fun();
6.无名命名空间 只能在当前文件中可用
//无名命名空间 只能在当前文件中可用
namespace {
int a = 333;
}
//无名的命名空间的引用
cout<<a<<endl;
//或者
cout<<::a<<endl;
7.命名空间取别名
//命名空间取别名
namespace Ey = E;
//意思就是命名空间 E 取别名 Ey
8.使用命名空间
//定义命名空间F
namespace F {
int c = 123;
}
//使用命名空间(using)
using namespace F;
//以后引用命名空间 F 时不需要加全局符号 “::”
//可以直接用成员名来访问里面的成员
cout << "c = " << c << " 名命名空间的使用" << endl;
5.完整代码
/***************************************************
* 文件名:namespace命名空间.cpp *
* C++学习笔记:Day01 *
* 作者:Abr *
* 时间:2021\12\01 *
***************************************************/
#include <iostream>
using namespace std;
//命名空间的定义
namespace A {//命名空间A
int a = 666;
}
namespace B {//命名空间B
int a = 999;
}
//命名空间的嵌套使用
namespace C {//命名空间C
namespace A {
int a = 111;
}
}
//命名空间的命名空间的可加性
namespace A {//在任何位置直接定义已经有的命名空间 ,添加新的成员
int b = 666;
}
//命名空间还可以放函数(方法)
namespace D {
void fun()
{
cout << "D::fun()" << endl;
}
}
//命名空间中的函数还可以再外部定义
namespace E {
int a = 222;
void fun();//在这儿声明一下
}
//在这儿定义命名空间中的成员函数(也就是方法)
void E::fun()
{
cout << "E::fun() 在命名空间外面定义的函数!" << endl;
cout << "a = " << a << " 命名空间中的成员函数可以直接用命名空间中的变量和方法,不需要加作用域 :: 符号" << endl;
}
//无名命名空间 只能在当前文件中可用
namespace {
int a = 333;
}
//命名空间取别名
namespace Ey = E;//意思就是命名空间 E 取别名 Ey
//使用命名空间
namespace F {
int c = 123;
}
void funUsing()
{
using namespace F;
cout << "c = " << c << " 名命名空间的使用" << endl;
}
void fun()
{
cout << "A::a = " << A::a << endl;
cout << "B::a = " << B::a << endl;
cout << "C::A::a = " << C::A::a << endl;
cout << "A::b = " << A::b << endl;
cout << "::a = " << ::a <<" 无名命名空间"<< endl;
cout << "Ey::a = " << Ey::a << " 命名空间E取别名为Ey" << endl;
}
int main()
{
fun();
D::fun();
E::fun();
funUsing();
return 0;
}
6.运行结果
学C++ 的第一天认识什么是C++?有什么性质?怎么发展而来?等等基本知识和基本语法,头文件的引用,命名空间的使用,标准输入输出语句的使用,收获的比较多,我打算十天内学完C++基本语法和编程思维,对于我用C语言8年之久程序员来说应该不是大问题,能读到文章的最后的读者谢谢你的支持!