相关疑难解决方法(0)

什么是堕落类?

既然没有人问过,我还没有找到合适的答案; 简单地说:什么是堕落类?

各种语言的例子会有所帮助......除了UML.:P

language-agnostic oop class

7
推荐指数
1
解决办法
2868
查看次数

为什么C++同时具有类和结构?

可能重复:
C++中struct和class之间有什么区别

如果结构和类之间的唯一区别是默认访问说明符(在C++中),那么为什么C++也有类?

c++ struct class

4
推荐指数
1
解决办法
2558
查看次数

基类的"默认"访问说明符的差异的基本原理

我知道C++ 之间structclassC++ 之间的差异很小.我也理解几个差异的原因.像这个,

  • struct的成员默认公共的 ; 默认情况下,类的成员是 私有的.struct的成员默认公开的原因是为了C++-struct兼容C-struct.并且默认情况下,类成员是私有的原因是引入数据封装的概念(即强制执行面向对象的原则/技术/等).

我不明白的是,引用标准$ 11.2/2 [class.access.base]

如果没有基类的访问说明符,则在派生类声明为struct时假定为public,并在声明类时声明为private.

这种扭曲和反均匀性的基本原理是什么?为什么需要这种差异?

标准示例,

class B {  };
class D1 : private B {  };
class D2 : public B { };
class D3 : B { };         //B private by default
struct D4 : public B { };
struct D5 : private B { };
struct D6 : …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance access-specifier language-lawyer

1
推荐指数
1
解决办法
1679
查看次数