No tienes acceso a esta clase

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

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y m谩s a precio especial.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

2 D铆as
1 Hrs
58 Min
2 Seg

Static

12/16
Recursos

Aportes 6

Preguntas 2

Ordenar por:

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

WOW, esta SUPER genial el poder tener un contador dentro del objeto sin necesidad de crear una funci贸n para que los cuente 馃槷

Les dejo el codig贸:

#include <iostream>
#include <string>

using namespace std;

class Person {
private:
  string name;
  int age;

public:
  static int number_of_persons;
  Person(string name, int age) {
    this->name = name;
    this->age = age;
    number_of_persons += 1;
  }

  ~Person() { cout << "Destruction" << endl; }

  void change_name(string name) { this->name = name; }

  void change_age(int age) { this->age = age; }

  void say_hi() { cout << name << endl; }
};
int Person::number_of_persons = 0;

int main() {
  Person p = Person("Zero", 14);
  Person p2 = Person("Zero", 14);
  Person p3 = Person("Zero", 14);

  cout << Person::number_of_persons << endl;
  p.say_hi();
}

**Variables est谩ticas** Una variable est谩tica es una variable que se almacena en la memoria de la aplicaci贸n y no en la pila. Esto significa que la variable existe solo durante la ejecuci贸n de la aplicaci贸n y no se crea y destruye cada vez que se llama a una funci贸n o m茅todo. Las variables est谩ticas se utilizan a menudo para almacenar datos que deben ser accesibles para todas las instancias de una clase o funci贸n. Por ejemplo, una variable est谩tica se puede utilizar para almacenar el n煤mero de instancias de una clase que se han creado. **Funciones est谩ticas** Una funci贸n est谩tica es una funci贸n que no se asocia con ninguna clase. Esto significa que la funci贸n se puede llamar sin crear una instancia de una clase. Las funciones est谩ticas se utilizan a menudo para realizar tareas que no requieren una instancia de una clase. Por ejemplo, una funci贸n est谩tica se puede utilizar para calcular una f贸rmula matem谩tica.

en general la clase esta muy bien pero seria mas facil si dejara el codigo para poder accerde a el como en el curso basico ya que es muy engorrozo tener que pausar la pantalla cada momento

Codigo de ejemplo de la clase, saludo2

#include<iostream>
#include<string>

using namespace std;

class cls_persona {
    private:
        //propiedades
        string nombre;
        int edad;

    public: 
        //Propiedades
        static int num_personas;

        //Constructor        
        cls_persona(
            string vNombre,
            int vEdad
        );

        //Destructor
        ~cls_persona(){
            cout << "Destructor" <<endl;
        }

        //Metodos
        cls_persona &met_cambiar_nombre(string vNombre){
            this->nombre = vNombre;
            return *this;
        }

        cls_persona &met_cambiar_edad(int vEdad){
            this->edad = vEdad;
            return *this;
        }

        void met_saludar();
};

//Llamadas Externa
int cls_persona::num_personas = 0;

cls_persona::cls_persona(
        string vNombre,
        int vEdad
    ){
        this->nombre = vNombre;
        this->edad = vEdad;
        num_personas += 1;
    }

void cls_persona::met_saludar(){
    cout << "Mi Nombre es: " << nombre << endl;
    cout << "Mi edad es: " << edad << endl;
}

/*********************[ main ]**********************/

int main() {

    cls_persona per = cls_persona("Alexander Jair",36);
    per.met_saludar(); cout << endl;

    cls_persona *per2 = new cls_persona("Laura Sanguinetti",36);

    
    //Llamada al destructor() ~
    //delete per2;

    //Ejemplo de Puntero - concatenado
    per2->met_cambiar_nombre("Ximena").met_cambiar_edad(26).met_cambiar_nombre("Luz");
    per2->met_saludar(); cout << endl;

    cout << "El numero de personas:" << cls_persona::num_personas << endl;
}