Red de conocimiento informático - Consumibles informáticos - Problemas de programación derivados de la herencia orientada a objetos

Problemas de programación derivados de la herencia orientada a objetos

# incluir ltiostream.h gt

Moneda de clase

{

Público:

Dinero(int pYuan=0, int pJiao=0 , int pFen = 0);

Operador de moneda (moneda y dinero);

Operador de moneda - (moneda y dinero); // también se puede implementar usando la función amigo.

void operator = (Money amp; money); //El operador de asignación solo se puede utilizar como función miembro y no como función amiga.

Oyster Friends amp operator lt lt (salida de amplificador ostream, moneda y finanzas. dinero

Privado:

int yuan; >int Jiao;

int fen

};

Dinero::Dinero(int pYuan, int pJiao, int pFen)

{

元 = pYuan

Jiao = pJiao

fen = pFen

}

Dinero Dinero:: operador (Dinero y dinero)

{

int yuan;

int jiao;

int fen

Yuan=this-gt;元money.元;

Jiao=this- gt;jiao money.

fen = this- gt;fen money

if(fen gt;= 10)

{

Enfoque = 1;

fen-= 10;

}

Si (julio gt= 10)

{

yuan = 1;

julio-= 10;

}

Reembolsar dinero (yuanes, jiao, centavos);

}

Moneda Moneda:: Operador - (Moneda Moneda y dinero)

{

int yuan;

int jiao;

int fen

fen = this- gt;fen-money .fen;

if (fen lt0)

{

Esto- gt;focus-= 1;

fen = 10;

}

Jiao = this - gt; jiao-money .

If (Jiao lt0)

{

Esto - gt; Yuan - = 1;

Jiao = 10;

}

Yuan = esto - gt Yuan - dinero.

Pagar dinero (yuan, jiao, centavo);

}

void Money:: operator = (Dinero y dinero)

{

元 = dinero.yuan

Jiao = dinero.jiao

fen = dinero.fen

}

Oyster;operator lt lt(salida de amplificador ostream, moneda y finanzas.

Dinero)

{

Salida lt ltmoney.yuan lt lt"yuan"< ltmoney.jiao lt lt"angle" < ltmoney.fen lt lt"fen"

Salida de retorno;

}

void main()

{

Dinero dinero1(3, 6, 4);

Dinero dinero2(1,7,9);

Dinero dinero3;

Dinero dinero4;

Dinero dinero5;

dinero 3 = dinero 1 dinero 2;

dinero 4 = dinero 1-dinero 2;

dinero5 = dinero4

cout lt lt Dinero 3;

cout lt ltMoney 4;

cout lt ltMoney 5;

}