WOW, esta SUPER genial el poder tener un contador dentro del objeto sin necesidad de crear una función para que los cuente 😮
Memoria dinámica
El manejo de memoria
Punteros
Usando punteros
Estructuras de datos
Estructuras de datos
Creando nuestra primera estructura
Uniones y enumeraciones
Introducción a la Programación Orientada a Objetos
Qué es la Programación Orientada a Objetos
Creando nuestro primer objeto
El ciclo de vida de un objeto
Principios de la Programación Orientada a Objetos
Encapsulación
This
Static
Herencia
Herencia múltiple
Polimorfismo
Despedida
Conclusiones del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Diana MartÃnez
Aportes 6
Preguntas 2
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();
}
Más sobre el Scope Resolution Operator ( :: ).
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;
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?