小编Mil*_*ilo的帖子

使用非纯虚拟版本重载纯虚函数

使用Base和Derived定义如下:

class Base {

    public:
        virtual int f1(int a) const = 0;
        virtual int f2(int a, int b) const { return a+b;}
};

class Derived : public Base {

    public:
        int f1(int a) const { return a; }
}; 

int main() {
    Derived obj;
    cout << obj.f1(1) << endl;
    cout << obj.f2(1, 2) << endl;
}
Run Code Online (Sandbox Code Playgroud)

结果是

1
3
Run Code Online (Sandbox Code Playgroud)

obj.f1(1)使用Derivedf1实现,而obj.f2(1,2)使用从Base继承的实现,这就是我想要的.

现在,我希望这两个函数具有相同的名称f,因此当有两个参数且派生类必须实现单个参数版本时,基类提供了一个实现(这就是为什么它是纯虚拟的).

但是,如果我这样做(只需将f1f2重命名为f):

class …
Run Code Online (Sandbox Code Playgroud)

c++

10
推荐指数
2
解决办法
488
查看次数

当上传者为“conda-forge”时,更新 conda-forge 中的包

我将 Python 包上传到 PyPi。一段时间后,我决定尝试将其上传到 conda-forge,我发现它已经在那里: https: //anaconda.org/conda-forge/cmapy

这是一个不错的惊喜,但我想了解这是如何发生的,谁上传了这个包?(也许是一个自动脚本?),以及,当 PyPi 中更新包时,如何更新 conda-forge 中的包?

python pypi anaconda conda

2
推荐指数
1
解决办法
1578
查看次数

标签 统计

anaconda ×1

c++ ×1

conda ×1

pypi ×1

python ×1