#include <iostream>
#include <string>
using namespace std;
class Pastel {
public:
Pastel(string s) : sabor(s) {}
string hornear() {
return "El pastel sera horneado y de sabor " + sabor + "\n";
}
protected:
string sabor;
};
class PastelBoda : public Pastel {
public:
PastelBoda(string s, int nivel) : Pastel(s), nivelDecoracion(nivel) {}
string decorar() {
return "Decorando el pastel de boda con nivel de decoracion " + to_string(nivelDecoracion) +
"\n";
}
private:
int nivelDecoracion;
};
int main() {
Pastel obj("chocolate");
cout << obj.hornear();
PastelBoda obj2("fresa", 5);
cout << obj2.hornear();
cout << obj2.decorar();
return 0;
}
/*
Tenemos dos clases, Pastel` como clase padre y PastelBoda como clase hija.
La clase Pastel tiene:
- Un atributo protegido sabor, inicializado en el constructor.
- Un método público hornear(), que retorna un mensaje indicando que el pastel será horneado con su sabor.
La clase `PastelBoda` hereda de Pastel utilizando la sintaxis de herencia pública. Esto significa que todos los miembros públicos de la clase padre permanecen públicos en la clase hija, y los miembros protegidos permanecen protegidos. La clase PastelBoda añade:
- Un atributo privado nivelDecoracion, inicializado en el constructor.
- Un método público decorar(), que retorna un mensaje indicando el nivel de decoración del pastel de boda.
La herencia en C++ se especifica usando el operador ":" seguido por el tipo de herencia (`public`, `protected`, o `private`) y el nombre de la clase padre. En este caso, `PastelBoda` hereda de `Pastel` de manera pública:
*/
To embed this project on your website, copy the following code and paste it into your website's HTML: