我正在查看我正在使用的API的实现。
我注意到结构是从类继承而来的,我停下来思考一下……
首先,我没有在研究的C ++手册中看到某个结构可以从另一个结构继承:
struct A {};
struct B : public A {};
我猜想在这种情况下,结构B继承了结构A中的所有数据。我们可以在结构中声明公共/私有成员吗?
但是我注意到了这一点:
class A {};
struct B : public A {};
从我的在线C ++手册中:
类是一数据结构的一个扩展的概念:不是只持有数据,它可以容纳两个数据和功能。
即使类A具有某些成员函数,上述继承也有效吗?当结构继承它们时,函数会发生什么?而相反呢:从结构继承的类呢?
实际上,我有这个:
struct user_messages {
std::list<std::string> messages;
};
而且我经常这样迭代foreach message in user_messages.messages
。
如果要向结构中添加成员函数,是否可以更改其声明并将其“提升”为类,添加函数,并且仍然像以前一样遍历user_messages.messages?
显然,我仍然是新手,我仍然不清楚结构和类之间如何交互,两者之间的实际区别是什么,继承规则是什么...