我正在查看我正在使用的API的实现.
我注意到一个结构继承自一个类,我暂停思考它...
首先,我没有在我研究过的C++手册中看到结构可以从另一个结构继承:
struct A {};
struct B : public A {};
Run Code Online (Sandbox Code Playgroud)
我想在这种情况下,struct B继承了结构A中的所有数据.我们可以在结构中声明公共/私有成员吗?
但我注意到了这一点:
class A {};
struct B : public A {};
Run Code Online (Sandbox Code Playgroud)
从我的在线C++手册:
类是数据结构的扩展概念:它不是仅保存数据,而是包含数据和函数.
即使A类有一些成员函数,上述继承是否有效?结构继承它们时,函数会发生什么?那反面呢:一个继承自结构的类?
实际上,我有这个:
struct user_messages {
std::list<std::string> messages;
};
Run Code Online (Sandbox Code Playgroud)
我曾经像这样迭代它foreach message in user_messages.messages.
如果我想在我的结构中添加成员函数,我是否可以更改其声明并将其"提升"到类,添加函数,并像我之前一样迭代我的user_messages.messages?
显然,我仍然是一个新手,我仍然不清楚结构和类是如何相互作用的,两者之间的实际区别是什么,以及继承规则是什么......