记录一下C++的一些基础:
1. iostream:
i input 输入 o output stream 流 输入输出流头文件
2. 命名空间namespace:
命名空间只能在全局定义
命名空间可以嵌套命名空间
命名空间是开放的,随时可以加入新的成员到命名空间
命名空间可以存放变量和函数
命名空间中的函数可以在外面定义
命名空间可以取别名
3. c++三大特性:
封装: 把客观事物封装成抽象的类,隐藏信息,加以权限区分
继承:避免公共代码的重复开发
多态:一个接口,多种方法,程序运行时决定调用的函数
4. cin,cout
cout 输出,类似printf
endl 类似换行符
cin代表输入设备,将键盘输入的数据赋值给num
//i input 输入 o output stream 流 输入输出流头文件(类似stdio.h)
#include <iostream>
/**
* 使用标准命名空间(把工具打包成工具箱)
* 命名空间是C++的一种机制,用来把单个标识符下面的大量有逻辑联系的程序实体组合在一起
* 此标识符作为次群组的名字,用namespace来定义。
* 在使用多个厂商的类苦的时候,避免命名冲突,使用namespace控制作用域
*/
using namespace std;
/**
C++的三大特性:
封装: 把客观事物封装成抽象的类,隐藏信息,加以权限区分
继承:避免公共代码的重复开发
多态:一个接口,多种方法,程序运行时决定调用的函数
*/
// 全局变量
int a =10;
void test01(){
// 局部变量
int a =20;
cout<<"局部变量: "<<a<<endl;// 优先使用局部变量
// ::作用域运算符
cout<<"全局变量: "<<::a<<endl;//取全局变量
}
/**
命名空间;
命名空间只能在全局定义
命名空间可以嵌套命名空间
命名空间是开放的,随时可以加入新的成员到命名空间
命名空间可以存放变量和函数
命名空间中的函数可以在外面定义
命名空间可以取别名
*/
//定义命名空间A
namespace A{
int a =100;
}
//把b添加到已有的命名空间中
namespace A {
int b = 200;
}
//定义命名空间B
namespace B {
int a =200;
}
//定义嵌套命名空间C,D
namespace C {
int a = 400;
namespace D {
int a = 300;
}
}
//定义命名空间E中使用函数
namespace E {
int a = 20;
void func(){
cout<<"func a ="<<a<<endl;
}
}
//外部定义函数
namespace F {
int a =30;
void func1();
}
void F::func1(){
//访问对应命名空间不需要加定义域
cout<<"外部定义函数 ="<<a<<endl;
}
//命名空间别名
namespace veryLongName {
int a = 30;
}
void test02(){
//A::a表示命名空间A中的a
cout<<"a ="<<A::a<<endl;
cout<<"b="<<A::b<<endl;
cout<<"嵌套外A="<<C::a<<endl;
cout<<"嵌套内A="<<C::D::a<<endl;
//调用命名空间的函数
E::func();
F::func1();
}
void test03(){
//给命名空间取别名
namespace stn = veryLongName;
cout<<"长名空间: a="<<stn::a<<endl;
}
// 有且只有一个主函数,可以有多个其他函数
int main()
{
//cout 输出,类似printf
//endl 类似换行符
cout << "Hello World! 你好" << endl;
//cin代表输入设备
int num =0;
//将键盘输入的数据赋值给num
cin >> num;
cout <<"num = "<< num << endl;
test01();
test02();
test03();
return 0;
}