6 ms·
In c++ you choose the default so I'm not sure it should be lumped in with the others.
by tubs 5y ago
In c++ you choose the default so I'm not sure it should be lumped in with the others.
- rightbyte 5y agoIn the literal sense private is default though. I wonder why. Lexical sorting of private, protected and public? It makes almost no sense to have all private class fields and methods. The only thing I can think of is fat handles with friend classes or functions.
- tubs 5y agostruct over class then.
- andi999 5y agoIn c++ a class declared with the keyword 'class' is private by default, and a class declared with the keyword 'struct' is public by default. So if you want public by default just write 'struct' (somehow this is not commonly known). https://en.wikipedia.org/wiki/C%2B%2B_classes https://en.wikipedia.org/wiki/C%2B%2B_classes
- klodolph 5y agoI think the “somehow” is not too hard to guess… it is easy to think that “class” is the only way to declare a class, especially since “struct” is taken from C. I’m sure very few intro C++ explanations ever mention “struct” as a way to declare a class.
- andi999 5y agoYes, I meant common introductory material should mention (and use) it (I think Bjarne does mention it, but I wouldnt call it introductory material)
- TillE 5y agoThere's quite a lot about C++ which wouldn't be covered in a simple tutorial, but the meaning of class/struct is a pretty basic part of the language, hardly obscure. Maybe it's something you could miss if you're coming from a strong C background and still thinking of C++ as C-with-classes, but otherwise it's something any serious user of the language would pick up.
- klodolph 5y agoThis comment represents some of the worst elitism I see in the programming community.