Hola:
Soy nuevo en OOP y quisiera que alguien me sacara de una duda.
Puedo inicializar los miembros de una clase obligando con el constructor de esa clase que al definir una instancia de ese objeto tenga que entrar obligatoriamente valores para esos miembros. Por ejemplo, en esta clase CComplex...
class CComplex
{
//atributos
private:
double m_Real;
double m_Imag;
//funciones de acceso
public:
double GetReal()const{return m_Real;}
double GetImag()const{return m_Imag;}
double GetMod()const{return sqrt(m_Real * m_Real + m_Imag * m_Imag);}
//operaciones
public:
void SetReal(double Real){m_Real = Real;}
void SetImag(double Imag){m_Imag = Imag;}
CComplex& operator + (const CComplex& c)const{return CComplex(m_Real + c.m_Real, m_Imag + c.m_Imag);}
//construccion
private:
CComplex(); //constructor por defecto
public:
CComplex(double Real, double Imag) //constructor de copia
{
m_Real = Real;
m_Imag = Imag;
}
};
Al declarar el numero complejo pongo
CComplex c(2, 3);
Eso esta muy bien, parte real 2 y parte imaginaria 3...
Pero,
la duda me surge cuando quiero pedir por la consola por ejemplo:
Entre la parte real del # complejo:
debo llamar a la funcion SetReal(Real), pero me da problemas, me parece que hay que hacer algun otro trabajo con los constructores de la clase o algo parecido para que me deje acceder a los miembros pero no estoy seguro¿? O si es otra cosa ¿?
por favor si alguien que sepa programacion orientada a objetos me pudiera echar una mano
Muchas gracias reciban de antemano