对不起,如果问题很愚蠢。我来自java背景。
在下面的代码中,base_list是SqlAloc的父类,但公共内存的含义是什么?
class base_list :public memory::SqlAlloc
{
protected:
list_node *first,**last;
uint32_t elements;
public:
};
答案 0 :(得分:4)
Memory
可能是名称空间(有点像外部类),其中定义了SqlAlloc
。
C ++同时具有public
和private
继承(protected
,实际上。)public
继承就像Java继承一样;但是,在private
继承中,派生类之外的代码不知道基类。这是一种在不继承类型的情况下继承实现的方法。在Java中,您只能同时执行这两项操作。
答案 1 :(得分:1)
memory
是命名空间或类(struct)。 public
表示在SqlAlloc
类(结构)中声明为公共和受保护的所有成员函数和成员数据将在base_list
中显示为公共和受保护。
答案 2 :(得分:0)
base_list
公开派生自SqlAlloc
,它是命名空间类或嵌套类,具体取决于memory
是什么 - 可能是名称空间或类。