4 dígitos binarios a hexadecimal en c++

string ALU::hexadecimal(string num)
{
    //pasa cada 4 dígitos de binario a uno en hexadecimal
    if(num=="0000"){
        return "0";
    }else if(num=="0001"){
        return "1";
    }else if(num=="0010"){
        return "2";
    }else if(num=="0011"){
        return "3";
    }else if(num=="0100"){
        return "4";
    }else if(num=="0101"){
        return "5";
    }else if(num=="0110"){
        return "6";
    }else if(num=="0111"){
        return "7";
    }else if(num=="1000"){
        return "8";
    }else if(num=="1001"){
        return "9";
    }else if(num=="1010"){
        return "A";
    }else if(num=="1011"){
        return "B";
    }else if(num=="1100"){
        return "C";
    }else if(num=="1101"){
        return "D";
    }else if(num=="1110"){
        return "E";
    }else if(num=="1111"){
        return "F";
    }
       return 0;
}