相关疑难解决方法(0)

C++:结构可以从类继承吗?

我正在查看我正在使用的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?

显然,我仍然是一个新手,我仍然不清楚结构和类是如何相互作用的,两者之间的实际区别是什么,以及继承规则是什么......

c++ inheritance struct class

64
推荐指数
5
解决办法
3万
查看次数

标签 统计

c++ ×1

class ×1

inheritance ×1

struct ×1