我知道下面using C1::fn;
会将 C1 中声明的 fn(...) 函数带到 C2,但我想知道这种using
设计的最佳实践是什么?
如果 fn() 函数不使用 C1 状态,我应该声明一个辅助类是更好的方法吗?如果 fn 函数使用 C1 状态,是否会using
破坏封装?
如果您甚至可以提及 C++11 中的一些用例,我将不胜感激。喜欢使用using Base::Base;
构造函数而不是从派生成员初始化程序调用它?
class C1
{
//...
public:
int fn(int j) { ... }
double fn(double w) { ... }
void fn(const char * s) { ... }
};
class C2 : public C1
{
//...
public:
//...
using C1::fn;
double fn(double) { ... };
};