C++ 实现复用第三方库的方法名

来源:互联网 发布:网络视频编码器 编辑:程序博客网 时间:2024/06/06 00:22

 方法名重复时的应对

假设有以下情况

class test {public:    test(){};    ~test(){};    double sin(double);    double call_sin(double num, int flag);};

sin函数在c标准库里的math.h已经提供 但你并不想在所有场合都使用标准库的sin 而自己在类里也实现了一个sin
通过封装的接口call_sin调用实现求正弦函数

double test::call_sin(double num, int flag) {    if (flag) {        return sin(num); // 调用的是自定义sin    } else {        return ::sin(num); // 调用的是标准库sin    }}

::符号

在C++ 里一般用作命名空间说明和作用域说明
当然还有些情况下可用于指明使用全局变量/方法

int mm = 2;class test {public:    test(){    }    call(int flag) {        int mm = 1;        if (flag)               std::cout << mm << endl; // 输出1 局部变量        else             std::cout << ::mm << endl; // 输出2 全局变量    }};
原创粉丝点击