There is no constraint on where and how often an access specifier may appear inside a class definition. A class may contain zero or more access specifiers, each kind of access specifiers can appears multiple times. There is no constraint on the sequence of access specifiers too.
The constructors and member functions that are part of the interface should be defined after a public
specifier.
The data members and member functions that are part of the implementation should be defined after a private
specifier.