3 ms·
In 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 cl
by rightbyte 5y ago
In 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.