流浪のwolf

卷帝

导航

C++ 第一节课 名字空间 ,输入输出函数,和 C 语言的区别

#include <iostream>
// #include 头文件,C++标准库的头文件都不带 .h (.h 是C库头文件添加的)

#include <cstdio>
#include <cstring>



using namespace std;

// namespace 命名空间 为了防止变量名字冲突
// 命名空间中定义自己的变量或函数或类,都是独立的
// 所有的命名空间就是在全局空间中定义的,相当于实在全局空间中又定义一个不同名字的全局作用域;


namespace A {
    int a = 20;
    void show(){
        cout << "A加油" << endl;
    }

}

namespace B {
    int a = 100;
    void show(){
        cout << "B加油" << endl;
    }

}
using B::a; // 直接导入命名空间 B 中 的 a ;此时的 a 就不再是 B 中独立的 a 了;
int main()
{
    cout << "BBB" << a << endl;
    cout << "Hello World!" << endl;
    // << 是一个运算符重载函数, operatorer << (形参列表)
    printf("hello World ! \n");
    printf("hello World ! \n");
    // C 的输入含糊 scanf
    // 在 C++ 中输入的函数cin << 相当于 scanf
    // 在 C++ 中表示字符串有了专门的类型: string 类型
    // C 中的字符串是没有类型的,只有表现形式, 字符指针,字符数组, 容量及尾部 \0  问题


    // 如何访问不同命名空间中的变量或函数   使用 :: (域名访问域)来访问指定空间的变量或函数名或类。
    A::show();  // 调用命名空间 A 中的函数
    cout << "输出A命名空间的a变量:" << A::a << endl;
    string name;
    cin >> name;
    cout << "输出内容" + name << endl;  // ps: endl 就是一个 \n (换行);
    // using 关键字, 导入标识符
    // 1. 导入具体的标识符 使用 using + 命名空间名字 + 变量/函数/类的名字标识符  using B::a;
    // 2. 导入名字空间所有的标识符 using namespace + 名字空间名
    // 区别: 导入具体的标识符都不在独立了, 导入全部的标识符还是独立的,不会冲突;
}

 

posted on 2024-02-21 20:40  流浪のwolf  阅读(8)  评论(0编辑  收藏  举报