C++命名空间,缺省函数与函数重载

1.命名空间

为了解决命名冲突的问题,C++使用了命名空间,不同的命名空间里可以有相同的变量名,函数名等等,有效地规避了命名冲突的问题,定义命名空间如下:

namespace MySpace
{
    //可以放变量
    int i = 0;

    //可以放结构体
    struct MyStruct
    {
        int a = 0;
    };

    //可以放函数
    void SayHello()
    {
        cout << "hello" << endl;
    }

    //可以放类
    class MyClass
    {
        int b = 0;
    };
}

  要使用命名空间中的变量,需要用到作用域运算符" :: " , 这是一个二目运算符,左边放命名空间,右边放相关变量,具体使用如下:

int main()
{
    int num = MySpace :: i;
    
    MySpace::SayHello();

    return 0;
}

3.缺省函数

在创建C++函数时,你可以为传入的参数变量先赋上默认值,在使用该函数时,你可以不传入参数给该变量,该变量自动使用默认值,其使用如下例:

void MyFunc(int i,int j = 0 , int k=1)
{

    cout << i + j + k << endl;

}




int main()
{
    MyFunc(2);
    MyFunc(2, 3);
    MyFunc(2, 3, 4);

    return 0;
}

3.函数重载

        在同一域的函数,使用相同函数名,但传入参数类型和数量不同的话,构成函数重载,其具体使用哪个函数由传入的参数决定,使用例如下:

int add(int a,int b)
{
    return a + b;
}

float add(float a,float b)
{


    return a + b;
}


int main()
{
    int a = add(1,2);
    float b = add(1.0f, 2.0f);


    return 0;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值