C++ classes structure

Hello, I have a little bit problem with files structure. Whenever i open some example project the codes looks like spagetti - few public/protected/private sections, different naming conventions, all fields in one class. Can someone provide some idea to how plan the file structure for simple game with some character and inventory system.
As i supose we have Character class. Character class will contains some specific code for moving, shooting, collecting etc. What about statistic of character? shoudl i create some other class Statistics? What about items? There shoudl be some abstract class for items, and character shoudl have array of references to this items? But for example weapon should be as independent refrences but also extends from item class etc since we need to use dmg od weapon etc in some action methods? Is there any common known good practise for that simple examples of projects?