Se tiene dos tipos de cuentas bancarias que comparten algunas características y que
también tienen algunas diferencias. Ambas cuentas tienen un saldo, un interés y el
nombre del titular de la cuenta. La cuenta joven es un tipo de cuenta que requiere la
edad del propietario, mientras que la cuenta empresarial necesita el nombre de la
empresa. Ambas son derivadas de la clase base Cuenta.
De cuerdo al planteamiento, se pide:
a) Definir las clases necesarias para establecer la herencia de acuerdo a la gráfica
anterior.
b) Implementar los métodos necesarios para la comunicación entre las clases.
c) Instanciar 1 objetos de las clases Cuenta_Joven y Cuenta_Empresarial. visual c++
Cuenta
Nombre_Persona
Saldo
Interes
Cuenta_Joven
Edad Cuenta_Empresarial
Nombre_Empresa
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
class cuenta{
int edad;
char nombre;
double interes_saldo;
public:
void leer nombre();
void leer interes_saldo();
};
void cuenta::nombre()
char*nombre[6]="carlos";
cout<<"el nombre es"<<nombre;
}
void cuenta::interes_saldo()
{ int 100;
double 100.0;
int inicio=0;
saldo = inicio;
interes =100/100.0;
cout<<"el saldo es"<<saldo;
cout<<"el interes es"<<interes;
}
void cuenta::edad()
cout<<"introduzca la edad;
cin>>edad;
class cuenta_joven{
public:
void edad();
cout<<"introduzca la edad;
cin>>edad;
};
void cuenta_joven::edad()
{
cout<<"introduzca la edad";
cin>>edad;
}
class cuenta_empresarial{
char nombre_empresa[30];
};
void cuenta_empresarial::nombre_empresa()
{
char*nombre_empresa="electrodomesticos";
cout<<"nombre empresa";
cin>>nombre_empresa;
}
int main()
{
int op;
do{
system ("cls");
cout<<"la cuenta empresarial es";
cout<<"la cuenta joven es";
cout<<"introduzca una opsion";
cin>>op;
cuenta a;
if(op==1)
a.interes_saldo();
cout<<"introduzca tres [3] para continuar creo[0] para salir";
cin>>op;
}while(op!=0);
return 0;
}
aki les dejo la compilacion que me dio
1>------ Operación Generar iniciada: proyecto: gh, configuración: Debug Win32 ------
1>Compilando...
1>gh.cpp
1>.\gh.cpp(10) : error C2146: error de sintaxis : falta ';' delante del identificador 'nombre'
1>.\gh.cpp(10) : error C2182: 'leer' : uso no válido del tipo 'void'
1>.\gh.cpp(10) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
1>.\gh.cpp(10) : error C2365: 'cuenta::nombre' : nueva definición; la definición anterior era 'miembro de datos'
1> .\gh.cpp(7) : vea la declaración de 'cuenta::nombre'
1>.\gh.cpp(10) : warning C4183: 'nombre': falta el tipo de valor devuelto; se supone que se trata de una función miembro que devuelve 'int'
1>.\gh.cpp(11) : error C2146: error de sintaxis : falta ';' delante del identificador 'interes_saldo'
1>.\gh.cpp(11) : error C2182: 'leer' : uso no válido del tipo 'void'
1>.\gh.cpp(11) : error C2086: 'int cuenta::leer' : nueva definición
1> .\gh.cpp(10) : vea la declaración de 'cuenta::leer'
1>.\gh.cpp(11) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
1>.\gh.cpp(11) : error C2365: 'cuenta::interes_saldo' : nueva definición; la definición anterior era 'miembro de datos'
1> .\gh.cpp(8) : vea la declaración de 'cuenta::interes_saldo'
1>.\gh.cpp(11) : warning C4183: 'interes_saldo': falta el tipo de valor devuelto; se supone que se trata de una función miembro que devuelve 'int'
1>.\gh.cpp(15) : error C2144: error de sintaxis : 'char' debe estar precedido de ';'
1>.\gh.cpp(15) : error C2761: 'char cuenta::nombre' : no se permite la nueva declaración de la función miembro
1>.\gh.cpp(15) : error C2440: 'inicializando' : no se puede realizar la conversión de 'const char [7]' a 'char *[6]'
1> No existe un contexto en el que sea posible realizar esta conversión
1>.\gh.cpp(17) : error C2143: error de sintaxis : falta ';' delante de '<<'
1>.\gh.cpp(17) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
1>.\gh.cpp(18) : error C2059: error de sintaxis : '}'
1>.\gh.cpp(18) : error C2143: error de sintaxis : falta ';' delante de '}'
1>.\gh.cpp(18) : error C2059: error de sintaxis : '}'
1>.\gh.cpp(20) : error C2143: error de sintaxis : falta ';' delante de '{'
1>.\gh.cpp(20) : error C2447: '{' : falta el encabezado de función (¿lista formal de estilo anterior?)
1>.\gh.cpp(29) : error C3646: 'cout' : especificador de invalidación desconocido
1>.\gh.cpp(29) : error C2143: error de sintaxis : falta ';' delante de '<<'
1>.\gh.cpp(29) : error C2761: 'int cuenta::edad' : no se permite la nueva declaración de la función miembro
1>.\gh.cpp(29) : error C2001: nueva línea en constante
1>.\gh.cpp(34) : error C2143: error de sintaxis : falta ';' delante de '<<'
1>.\gh.cpp(34) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
1>.\gh.cpp(34) : error C2001: nueva línea en constante
1>.\gh.cpp(35) : error C2238: símbolos (token) inesperados delante de ';'
1>.\gh.cpp(39) : error C2872: 'cout' : símbolo ambiguo
1> puede ser '.\gh.cpp(17) : int cout'
1> o 'c:\Program Files\Microsoft Visual Studio 9.0\VC\include\iostream(53) : std::ostream std::cout'
1>.\gh.cpp(39) : error C2297: '<<' : no es válido; el operando derecho es de tipo 'const char [19]'
1>.\gh.cpp(39) : warning C4552: '<<' : el operador no tiene efecto; se esperaba un operador con efecto secundario
1>.\gh.cpp(40) : error C2679: '>>' binario : no se encontró un operador que adopte un operando en la parte derecha de tipo 'overloaded-function' (o bien no existe una conversión aceptable)
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(1144): puede ser 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(1146): o 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(1148): o 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(1150): o 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(155): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(161): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(168): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(175): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(194): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(228): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(247): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(273): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(291): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(309): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__w64 unsigned long &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(329): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__int64 &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(348): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned __int64 &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(367): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(float &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(386): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(double &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(404): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long double &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(422): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(void *&)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\istream(441): o 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_streambuf<_Elem,_Traits> *)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> 'cuenta_joven::edad': falta la lista de argumentos de la llamada a la función; utilice '&cuenta_joven::edad' para crear un puntero al miembro
1> al hacer coincidir la lista de argumentos '(std::istream)'
1>.\gh.cpp(47) : error C2063: 'cuenta_empresarial::nombre_empresa' : no es una función
1>.\gh.cpp(58) : error C2872: 'cout' : símbolo ambiguo
1> puede ser '.\gh.cpp(17) : int cout'
1> o 'c:\Program Files\Microsoft Visual Studio 9.0\VC\include\iostream(53) : std::ostream std::cout'
1>.\gh.cpp(58) : error C2297: '<<' : no es válido; el operando derecho es de tipo 'const char [25]'
1>.\gh.cpp(58) : warning C4552: '<<' : el operador no tiene efecto; se esperaba un operador con efecto secundario
1>.\gh.cpp(59) : error C2872: 'cout' : símbolo ambiguo
1> puede ser '.\gh.cpp(17) : int cout'
1> o 'c:\Program Files\Microsoft Visual Studio 9.0\VC\include\iostream(53) : std::ostream std::cout'
1>.\gh.cpp(59) : error C2297: '<<' : no es válido; el operando derecho es de tipo 'const char [19]'
1>.\gh.cpp(59) : warning C4552: '<<' : el operador no tiene efecto; se esperaba un operador con efecto secundario
1>.\gh.cpp(60) : error C2872: 'cout' : símbolo ambiguo
1> puede ser '.\gh.cpp(17) : int cout'
1> o 'c:\Program Files\Microsoft Visual Studio 9.0\VC\include\iostream(53) : std::ostream std::cout'
1>.\gh.cpp(60) : error C2297: '<<' : no es válido; el operando derecho es de tipo 'const char [22]'
1>.\gh.cpp(60) : warning C4552: '<<' : el operador no tiene efecto; se esperaba un operador con efecto secundario
1>.\gh.cpp(65) : error C2248: 'cuenta::interes_saldo' : no se puede obtener acceso al miembro private miembro declarado en la clase 'cuenta'
1> .\gh.cpp(8) : vea la declaración de 'cuenta::interes_saldo'
1> .\gh.cpp(5) : vea la declaración de 'cuenta'
1>.\gh.cpp(65) : error C2064: el término no se evalúa como una función con 0 argumentos
1>.\gh.cpp(67) : error C2872: 'cout' : símbolo ambiguo
1> puede ser '.\gh.cpp(17) : int cout'
1> o 'c:\Program Files\Microsoft Visual Studio 9.0\VC\include\iostream(53) : std::ostream std::cout'
1>.\gh.cpp(67) : error C2297: '<<' : no es válido; el operando derecho es de tipo 'const char [54]'
1>.\gh.cpp(67) : warning C4552: '<<' : el operador no tiene efecto; se esperaba un operador con efecto secundario
1>El registro de compilación se guardó en el "file://c:\Users\famgarnier\Documents\Visual Studio 2008\Projects\gh\gh\Debug\BuildLog.htm"
1>gh - 41 errores, 7 advertencias
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========