在 C++ 中,我可以从结构派生一个类吗

2021-12-22 00:00:00 data-structures c++

问题说明了一切.我是否允许从结构派生一个类,还是应该创建一个嵌入我的结构并定义复制构造函数和 = 运算符以在两者之间移动的类?

The question says it all really. Am I allowed derive a class from a struct, or should I create a class that embeds my struct and defines copy constructors and an = operator to move between the two?

推荐答案

在 C++ 中 struct(几乎)与 class 同义(除了不同的默认访问级别),所以是的,你可以.

In C++ struct is (almost) synonymous to a class (except of different default access level), so yes, you can.

struct A {
// fields are public by default
};

class B: public A {
// fields are private by default
};

我不熟悉 MFC,但它看起来像是在尝试同时维护 C 和 C++ API.

I'm not familiar with MFC, but it looks like an attempt to maintain both C and C++ APIs.

相关文章