在 C++ 中,如果我有一个类Base
是私有基类Derived
但Base
没有虚函数,那么用类中的封装代替继承会更干净Encapsulate
吗?我想在这种情况下继承的唯一好处是可以在派生类中直接访问基类,而不是通过memberVariable
。一种或另一种做法被认为更好,还是更多的是个人风格问题?
class Base {
public:
void privateWork();
// No virtual member functions here.
};
class Derived : Base {
public:
void doSomething() {
privateWork();
}
};
class Encapsulate {
Base memberVariable;
public:
void doSomething() {
memberVariable.privateWork()
}
};