C到C++

2020-08-19 11:03:42 浏览数 (1)

前言:大年初一一动不动,初二按兵不动,初三纹丝不动,初四巍然不动,初五依然不动,初六原地不动,初七继续不动,及时能动?钟南山说动才能动,不动不代表在家嗑瓜子,数腿毛,我们要用学习来丰富自己。 01

头文件

C风格
代码语言:javascript复制
#include<stdio.h>
#include<math.h>
C 风格
代码语言:javascript复制
#include<iostream>
#include<cstdio>        //C  风格 
#include<cmath>         //math.h cmath

02

输入输出

代码语言:javascript复制
#include<stdio.h>
#include<iostream>
using namespace std;    //命名空间 名字空间两种叫法
int main()
{
    //输出
    printf("hello worldn");
    cout << "hello world" << endl;  //endl endline换行
    //输入
    int num;
    scanf("%d", &num);
    cin >> num;
    system("pause");
    return 0;
}
说明
  • 不能直接使用cout,cin,像C一样,需要加上头文件,此外还要加上命名空间
代码语言:javascript复制
#include<iostream>
//命名空间的使用
//方式一:
using namespace std;    
//方式二
using std::cout;
using std::cin;
using std::endl;
//方式三
//输出
std::cout << "hello world" << std::endl;    //endl endline换行
  • 注意cout<<,cin>>里面的流操作符的方向
  • endl是n的意思,endline换行

03

命名空间

作用

作用:划分逻辑区域,解决名字冲突

创建

namespace 名字空间{}

代码语言:javascript复制
//1.创建名字空间
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
使用
::作用域限定符
代码语言:javascript复制
#include<iostream>
using namespace std;    //命名空间 名字空间
int main()
{
    std::cout << "hello world" << std::endl;
    return 0;
}
名字空间声明

using 名字空间::成员

代码语言:javascript复制
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
using DeRoy::fun;//DeRoy空间里面的fun函数全局可见
int main()
{
    cout << "hello world" << endl;
    fun();    //调用fun函数
    return 0;
}
名字空间指令

using namespace 名字空间

代码语言:javascript复制
#include<iostream>
using namespace std;    //命名空间 名字空间
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
using namespace DeRoy;
int main()
{
    std::cout << "hello world" << std::endl;
    fun();
    return 0;
}
命名空间合并
代码语言:javascript复制
#include<iostream>
using namespace std;    //命名空间 名字空间
namespace DeRoy
{
    void fun()
    {
        cout << "我是DeRoy的fun函数" << endl;
    }
}
namespace DeRoy        //命名空间合并     同名空间合并
{
    void test()
    {
        cout << "我是DeRoy的test函数" << endl;
    }
}
int main()
{
    DeRoy::fun();
    DeRoy::test();
    return 0;
}
声明和定义分开
代码语言:javascript复制
#include<iostream>
using namespace std;    //命名空间 名字空间
namespace DeRoy        //命名空间合并     同名空间合并
{
    void test();
}
void DeRoy::test()    //命名空间成员函数 声明和定义分开
{
    cout << "我是DeRoy的out函数" << endl;
}
int main()
{
    DeRoy::test();
    return 0;
}
命名空间嵌套
代码语言:javascript复制
//命名空间嵌套
namespace ShanXi
{
    namespace XiAn
    {
        namespace ChangAn
        {
            void SchoolName()
            {
                cout << "西北工业大学" << endl;
            }
        }
    }
}
命名空间别名
代码语言:javascript复制
namespace Changan = ShanXi::XiAn::ChangAn;

思维导图:

来源:XMind

0 人点赞