Hola, estaba practicando con constructores en C++, y no me acaba de compilar este ejercicio en C++, me salen muchos errores, y soy muy malo interpretando los mensajes del compilador, me vendrían muy bien vuestros consejos
este es el código:
//Constructores
#include<iostream>
using namespace std;
class Persona {
private:
string Nombre;
public:
Persona () {
Nombre = "Sin Nombre";
}
Persona (string_Nombre) {
Nombre =_Nombre;
}
string Getnombre () {
return Nombre;}
};
int main (void) {
Persona Mipersona ("Alex"), Otrapersona ("Sergio");
Persona Sinpersona;
cout<<Mipersona.GetNombre();
cout<<endl;
cout<<Otrapersona.Getnombre();
cout<<endl;
cout<<Sinpersona.Getnombre();
cout<<endl;
}
Estos son los errores:
lagrima.cpp:25:1: error: field ‘string_Nombre’ has incomplete type ‘Persona’
}
^
lagrima.cpp:8:7: note: definition of ‘class Persona’ is not complete until the closing brace
class Persona {
^
lagrima.cpp:25:1: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
}
^
lagrima.cpp:25:1: error: expected ‘;’ at end of member declaration
lagrima.cpp:30:1: error: expected ‘;’ after class definition
}
^
lagrima.cpp: In function ‘int main()’:
lagrima.cpp:34:26: error: no matching function for call to ‘Persona::Persona(const char [5])’
Persona Mipersona ("Alex"), Otrapersona ("Sergio");
^
lagrima.cpp:17:1: note: candidate: Persona::Persona()
Persona () {
^
lagrima.cpp:17:1: note: candidate expects 0 arguments, 1 provided
lagrima.cpp:8:7: note: candidate: Persona::Persona(const Persona&)
class Persona {
^
lagrima.cpp:8:7: note: no known conversion for argument 1 from ‘const char [5]’ to ‘const Persona&’
lagrima.cpp:34:51: error: no matching function for call to ‘Persona::Persona(const char [7])’
Persona Mipersona ("Alex"), Otrapersona ("Sergio");
^
lagrima.cpp:17:1: note: candidate: Persona::Persona()
Persona () {
^
lagrima.cpp:17:1: note: candidate expects 0 arguments, 1 provided
lagrima.cpp:8:7: note: candidate: Persona::Persona(const Persona&)
class Persona {
^
lagrima.cpp:8:7: note: no known conversion for argument 1 from ‘const char [7]’ to ‘const Persona&’
lagrima.cpp:38:17: error: ‘class Persona’ has no member named ‘GetNombre’
cout<<Mipersona.GetNombre();
^
agradezco vuestra ayuda,muchas gracias