C++基础(01)

记录一下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;
}


版权声明:本文为m0_56289903原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。