0

What is the advantage of using a struct in C++ when you have class? I cannot find any literature on the subject. I have been told to just use class and is the correct

TemplateRex
  • 69,038
  • 19
  • 164
  • 304
user3286701
  • 7,963
  • 3
  • 12
  • 4
  • None, there is no real difference, it is purely a matter of convention, but you might get flooded by answers suggesting otherwise :-) – juanchopanza Feb 08 '14 at 09:34
  • Have you considered investigating the difference between structs and classes in C++ and drawing your own conclusions? – Oswald Feb 08 '14 at 09:35
  • The only difference is that with `class`, members are made private automatically whereas with `struct` they are public (before specifying any of `public:`, `private:`, `protected:` that is). – Aleph Feb 08 '14 at 09:35
  • @AnotherTest Sigh. No, that is not the *only* difference. This always happens when this question gets asked. – juanchopanza Feb 08 '14 at 09:36
  • @juanchopanza then what are the other differences – Aleph Feb 08 '14 at 09:37
  • @AnotherTest It is explained in the duplicate. – juanchopanza Feb 08 '14 at 09:37
  • @juanchopanza link is gone, but I see: difference in derived types as well. Thanks, didn't know about this. – Aleph Feb 08 '14 at 09:39
  • @AnotherTest You can find the link at the top of the question now. It is worth a read, if only because there are many out there who have the impression you cannot do as much with `struct` as with `class`. – juanchopanza Feb 08 '14 at 09:41
  • @juanchopanza Unfortunately the _other differences_ aren't explained in the accepted answer of the dupe, but in the second highvoted one. – πάντα ῥεῖ Feb 08 '14 at 09:49
  • @πάνταῥεῖ Actually, the accepted answer *does* mention it, "that structs have default public members and **bases**", and the answer you refer to gets that part wrong (or at least, is not clear enough), and then talks about a "real difference" that is just down to convention. It is a very bad answer! – juanchopanza Feb 08 '14 at 09:56
  • @juanchopanza THX for enlightening, didn't spot that at the 1st glance. – πάντα ῥεῖ Feb 08 '14 at 09:57

0 Answers0