这个问题已在C#/ .Net的背景下提出.
现在我想学习C++中结构和类之间的区别.请讨论技术差异以及在OO设计中选择其中一个的原因.
我将从一个明显的区别开始:
public:or private:,则结构的成员默认是公共的; 默认情况下,类的成员是私有的.我确信在C++规范的模糊角落中还有其他差异.
最近,我看到了一个奇怪的C++特性:注入类名.
class X { };
X x1;
class X::X x2; // class X::X is equal to X
class X::X::X x3; // ...and so on...
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚为什么这个功能是必要的.有没有需要此功能的练习?
我听说旧C++中不存在这个功能.然后,什么时候介绍?C++ 03?C++ 11?
在完成我的C++类之后,在我看来,结构/类几乎完全相同,除了一些细微的差别.
我以前从未用C语言编程; 但我确实知道它有结构.在C中是否可以继承其他结构并设置公共/私有的修饰符?
如果你能在常规C中做到这一点,为什么我们需要C++?是什么让类与结构不同?