Buenas a todos tengo una duda con los constructores pondre mi codigo para explicar el problema.
//cabezera
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Persona{
private:
int edad;
string nombre;
public:
Persona();
Persona(int,string);
void setEdad(int);
int getEdad(void);
void setNombre(string);
string getNombre(void);
};
//fin cabezera
//implementacion cabezera
#include "Persona.h"
Persona::Persona(){
cout<<"Ingrese la edad";
cin>>edad;
cout<<"Ingrese su nombre";
cin>>nombre;
}
Persona::Persona(int e,string nom){
edad=e;
nombre=nom;
}
void Persona::setEdad(int e){
edad=e;
}
int Persona::getEdad(void){
return edad;
}
void Persona::setNombre(string nom){
nombre=nom;
}
string Persona::getNombre(void){
return nombre;
}
// fin implementacion
//main
#include "Persona.h"
int main(){
Persona p = new Persona(8,"asd");
//UNO DE LOS ERROES ES EN EL NEW ME DICE QUE
NO EXISTE NINGUN OPERADOR ADECUADO PARA CONVERTIR DE
" Persona *" a "Persona"
return 0;
}
Esa es mi duda agradezco sus respuestas porque mi mayor proplema
siempre fueron los constructores, y una duda mas el constructor por defecto
lo puse asi porque asi lo vi en otro ejemplo pero siempre pense que el constructor
por defecto iva vacio , gracias nuevamente espero sus respuestas.