C++继承时同名函数屏蔽了

#include <常用>
#include "注册子类.cpp"
构 D{};
构 E:公 D{
    串 a;
};

构 A{
    单 无序映<,>;<类 B,...T>静 空 初化(){
        类名序<B,T...>();
        打印("A");
    }
    静 整 取记(&a){
        查找映中(,a,"不存在该键",0);中 记[a];
    }
};

构 B:公 A{<类 E,动 N,...T>静 空 初化(){
        类名序<E,T...>();
        串 a=N.第一;打印(a);
    }
};

空 主(){
    B::A::初化<D,E>();
    B::初化<D,"哈哈"y,E>();
}

如果,把A初化移动至B中,则

    B::初化<D,E>();
    B::初化<D,"哈哈"y,E>();

两个调用,都是可行的.
B用 A::初化是没用的,要同时可用,可重命名模板函数.

posted @ 2023-02-21 18:28  zjh6  阅读(16)  评论(0)    收藏  举报  来源