我有一个构造函数尝试初始化基类中的字段.编译器抱怨.该字段受到保护,因此派生类应具有访问权限.
//The base class:
class BaseClass
{
public:
BaseClass(std::string);
BaseClass(const BaseClass& orig);
virtual ~BaseClass();
const std::string GetData() const;
void SetData(const std::string& data);
protected:
BaseClass();
std::string m_data;
};
BaseClass::BaseClass(const std::string data) : m_data(data) { }
BaseClass::BaseClass() { }
BaseClass::BaseClass(const BaseClass& orig) { }
BaseClass::~BaseClass() { }
void BaseClass::SetData(const std::string& data)
{
m_data = data;
}
const std::string BaseClass::GetData() const
{
return m_data;
}
//The derived class:
class DerivedClass : public BaseClass
{
public:
DerivedClass(std::string data);
DerivedClass(const DerivedClass& orig);
virtual ~DerivedClass();
private: …Run Code Online (Sandbox Code Playgroud) 非常感谢您花时间看我的问题.
(我知道这个问题非关系数据库的C++,但我的需求有点不同,它只有一个答案.)
我正在开发一个商业C++库,除其他外,它必须保留消息.我想通过编写自己的DBMS来避免重新发明轮子.不幸的是,我有以下限制标准:
遗憾的是,由于上述原因,这两个选择不起作用:-SQLite是关系型的-BerkeleyDB是GPL或商业
再次感谢您的帮助.