使用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)使用Derived的f1实现,而obj.f2(1,2)使用从Base继承的实现,这就是我想要的.
现在,我希望这两个函数具有相同的名称f,因此当有两个参数且派生类必须实现单个参数版本时,基类提供了一个实现(这就是为什么它是纯虚拟的).
但是,如果我这样做(只需将f1和f2重命名为f):
class …Run Code Online (Sandbox Code Playgroud) 我将 Python 包上传到 PyPi。一段时间后,我决定尝试将其上传到 conda-forge,我发现它已经在那里: https: //anaconda.org/conda-forge/cmapy
这是一个不错的惊喜,但我想了解这是如何发生的,谁上传了这个包?(也许是一个自动脚本?),以及,当 PyPi 中更新包时,如何更新 conda-forge 中的包?