Effective C++ .33 子类的名称覆盖

#include <iostream>
#include <cstdlib>

using namespace std;

class Base {
    public:
        int add(int a, int b) {
            return a + b;
        }
};

class Derived : public Base {
    public:
        using Base::add;
        int add(int a, int b, int c) {
            return a + b + c;
        }
};

int main() {

    Derived d;
    cout<<d.add(1, 2)<<endl;
    return 0;
}

如果不在Derived中加入using命令,那么在main中就不能调用两个参数的add

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。