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::初化是没用的,要同时可用,可重命名模板函数.
浙公网安备 33010602011771号