No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Encapsulaci贸n

10/16
Recursos

Aportes 7

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Para modificar o acceder al estado de los miembros (variables) privados, lo podemos hacer por medio de metodos (funciones) publicos, como serian los Getters y Setters de Java.

...
void setNombre(string nombre) {
	this->nombre = nombre;
}

string getNombre(void) {
	return nombre;
}
...
Persona *p = new Persona("Diana", 26);
cout << p->getNombre() << endl;

$ ./main
Diana

Crear un constructor en C++, existen 2 formas que si bien hacen lo mismo tienen diferente sintaxis.

Les dejo el codig贸:

#include <iostream>
#include <string>

using namespace std;

class Person {
private:
  string name;
  int age;

public:
  Person(string n, int a) {
    name = n;
    age = a;
  }
  ~Person() { cout << "Destruction" << endl; }
  void say_hi() { cout << name << endl; }
};

int main() {
  Person p = Person("Zero", 14);
  p.say_hi();
}

les dejo algo que hice similar:

#include<iostream>
#include<string>
/*
ejemplo de encapsulacion automoviles
Dan Gallegos
*/
using namespace std;
class Automovil{
private:
string marca;
int ano;
public:
Automovil(string m,int a):marca(m),ano(a){}
~Automovil(){
cout<<鈥渄estructor鈥<<endl;
}
void prender(){
cout<<marca<<endl;
}
};
int main(){
Automovil *a=new Automovil(鈥渘issan鈥,2010);
Automovil *a2=new Automovil(鈥渢oyota鈥,2019);

a->prender();
a2->prender();

}

El encapsulamiento es utilizado para esconder detalles de la puesta en pr谩ctica no importantes de otros objetos

Les dejo my code.

#include <iostream>
#include <string>

using namespace std;

class Persona {
private:
  string nombre;
  int edad;

public:
  Persona(string n, int e) {
    nombre = n;
    edad = e;
  }
  ~Persona() {
   cout<<"Destruction"<<endl; 
   			}
  void saludar() {
   cout <<nombre<<endl;
    }
};

int main() {
  Persona p= Persona("Sebas", 21);
  p.saludar();
}

Falto mencionar, que cuando el constructor de una clase se declara para recibir solamente un parametro, es recomendable declararlo como 鈥渆xplicit鈥 para hacer que el constructor reciba solamente ese parametro con el tipo de datos definido y as铆 evitar errores a la hora de pasar argumentos al constructor fuera de la clase, que no sean validos o no sean los esperados.