¿Cómo se pueden declarar las clases en C++ public
, private
o protected
?Clases de C++ (públicas, privadas y protegidas)
Respuesta
En C++ no hay noción de toda una clase que tiene un especificador de acceso el camino que hay en Java o C#. Si un fragmento de código tiene visibilidad de una clase, puede hacer referencia al nombre de esa clase y manipularlo. Dicho esto, hay algunas restricciones sobre esto. El hecho de que pueda hacer referencia a una clase no significa que pueda crear una instancia, por ejemplo, ya que el constructor puede estar marcado como privado. De forma similar, si la clase es una clase anidada declarada en la sección privada o protegida de otra clase, no se podrá acceder a la clase fuera de esa clase y sus amigos.
Depende si se refiere a miembros o herencia. No puede tener un 'private class'
, como tal.
class Foo
{
public:
Foo() {} //public ctr
protected:
void Baz() //protected function
private:
void Bar() {} //private function
}
o herencia:
class Foo : public Bar
class Foo : protected Bar
class Foo : private Bar
Al anidar una clase dentro de otra:
class A
{
public:
class B {};
protected:
class C {};
private:
class D {};
};
Puede implementar "clases privadas" simplemente no publicando su interfaz a los clientes.
No conozco ninguna forma de crear "clases protegidas".
- 1. clases públicas Java con clases privadas dependientes
- 2. Constantes de clase PHP: ¿públicas, privadas o protegidas?
- 3. variables privadas o protegidas?
- 4. clases de decisiones públicas a otras clases en C++
- 5. Tragamonedas públicas y privadas en R?
- 6. ¿Las claves públicas y privadas son intercambiables?
- 7. Colas privadas y públicas en MSMQ
- 8. Clases privadas y uml
- 9. clases privadas en Objective C
- 10. Clases protegidas en .NET
- 11. C# enumeraciones Públicas de las clases
- 12. Uso de XmlSerializer con propiedades privadas y públicas de const
- 13. Uso de credenciales privadas y públicas en JAAS
- 14. Claves RSA públicas/privadas en YAML
- 15. Clojure, defn, defn-, públicas/privadas, incumplimientos
- 16. ¿En qué se diferencian las claves públicas y privadas?
- 17. Generar certificados, claves públicas y privadas con Java
- 18. Ubicación del contenedor para claves públicas y privadas en Windows?
- 19. ¿El archivo .pem contiene claves privadas y públicas?
- 20. Diferencia entre variables estáticas públicas y privadas estáticas
- 21. clases internas públicas
- 22. Clases privadas anidadas
- 23. Clases anidadas "públicas" o no
- 24. generando claves públicas/privadas rsa serializadas de NED Big Ints
- 25. Java cifrado asimétrico: mejor forma de almacenar claves públicas/privadas
- 26. Anulación de las funciones virtuales públicas con funciones privadas en C++
- 27. ¿Las visibilidades "protegidas" y "públicas" son inútiles para los campos de clase?
- 28. Cómo cifrar datos en php usando claves públicas/privadas?
- 29. excepciones como clases públicas frente a las clases internas estáticas públicas
- 30. C++ Estructuras Privadas
Como en, ¿quieres que alguien no pueda usar una clase? Una clase puede ser subclasificada: es decir, clase A {privada: clase B {}; }; –
Esto puede ser útil para usted: http://www.linuxquestions.org/questions/programming-9/public-private-protected-c-215399/#post1098220 – KyleWpppd
¿Por qué hay un voto cercano para esta pregunta? Esto parece una pregunta perfectamente razonable para hacer. – templatetypedef