Menu
Coddy logo textTech

Clases vs Objetos

Parte de la sección Programación Orientada a Objetos del Journey de C++ de Coddy — lección 6 de 104.

Una clase es un plano que define la estructura. Un objeto es una instancia específica creada a partir de ese plano.

La clase (plantilla)

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Creando múltiples objetos (instancias)

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Cada objeto es independiente. Cambiar car1 no afecta a car2. Puedes crear múltiples objetos a partir de la misma clase, cada uno con sus propios datos.

challenge icon

Desafío

Intermedio

Crea una clase Car (plano). El programa crea dos objetos (instancias) separados a partir de ella, cada uno con sus propios datos:

  • Miembros públicos: brand (string), year (int)
  • getInfo() — devuelve "<brand> (<year>)"

Hoja de referencia

Una clase es un plano que define la estructura. Un objeto es una instancia específica creada a partir de ese plano.

Definiendo una clase:

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Creando objetos a partir de una clase:

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Cada objeto es independiente y contiene sus propios datos. Cambiar un objeto no afecta a otro.

Pruébalo tú mismo

#include <iostream>
#include "Car.h"

int main() {
    std::string brand1, brand2;
    int year1, year2;
    
    std::getline(std::cin, brand1);
    std::cin >> year1;
    std::cin.ignore();
    std::getline(std::cin, brand2);
    std::cin >> year2;
    
    Car car1;
    car1.brand = brand1;
    car1.year = year1;
    
    Car car2;
    car2.brand = brand2;
    car2.year = year2;
    
    std::cout << "Car 1: " << car1.getInfo() << std::endl;
    std::cout << "Car 2: " << car2.getInfo() << std::endl;
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos