online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
// Definimos una interfaz con dos métodos interface DatosPersonales { String obtenerDescripcion(); void mostrarDatos(); } // Clase Persona con atributos privados public class Persona { private String nombre; private int edad; private String tipocabello; // Constructor por defecto public Persona() { this.nombre = "desconocido"; this.edad = 0; this.tipocabello = "desconocido"; } // Constructor con parámetros public Persona(String nombre, int edad, String tipocabello) { this.nombre = nombre; this.edad = edad; this.tipocabello = tipocabello; } // Métodos Getters y Setters public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public int getEdad() { return edad; } public void setEdad(int edad) { this.edad = edad; } public String getTipocabello() { return tipocabello; } public void setTipocabello(String tipocabello) { this.tipocabello = tipocabello; } // Clase interna Estudiante implementando la interfaz static class Estudiante extends Persona implements DatosPersonales { private String grado; public Estudiante(String nombre, int edad, String tipocabello, String grado) { super(nombre, edad, tipocabello); this.grado = grado; } @Override public String obtenerDescripcion() { return "Nombre: " + getNombre() + ", Edad: " + getEdad() + ", Tipo de cabello: " + getTipocabello() + ", Grado: " + grado; } @Override public void mostrarDatos() { System.out.println(obtenerDescripcion()); } public String getGrado() { return grado; } public void setGrado(String grado) { this.grado = grado; } } // Método main dentro de Persona para evitar conflictos public static void main(String[] args) { Persona juan = new Persona(); System.out.println("Nombre por defecto: " + juan.getNombre()); juan.setNombre("Juan Morales"); System.out.println("Nombre cambiado: " + juan.getNombre()); // Crear instancia de Estudiante Estudiante estudiante = new Estudiante("Perrita", 20, "Lacio", "Universidad"); estudiante.mostrarDatos(); } }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue