elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda: pasar por parametro de un metodo a una clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda: pasar por parametro de un metodo a una clase  (Leído 2,480 veces)
Akumadie

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Ayuda: pasar por parametro de un metodo a una clase
« en: 28 Noviembre 2016, 13:22 pm »

Estoy tratando de crear una clase abstracta, para luego heredarlo a una clase derivada.
El codigo es el siguiente:

El archivo "ICuenta.h"

Código
  1. #pragma once
  2. #include<string>
  3. #include <iostream>
  4. #include <list>
  5. #include "Cliente.h"
  6.  
  7. class ICuenta
  8. {
  9. std::string Nombre;
  10. double Saldo;
  11.  
  12. public:
  13. virtual void Extraer(double) = 0;
  14. virtual void Depositar(double) = 0;
  15. virtual void Transferir(Cuenta, double) = 0;
  16. };
  17.  
  18.  
  19. class Cuenta : public ICuenta
  20. {
  21. private:
  22. list<Cliente> cliente;
  23.  
  24. public:
  25. Cuenta();
  26. ~Cuenta();
  27.  
  28. void Extraer(double);
  29. void Depositar(double);
  30. void Transferir(Cuenta, double);
  31. void AgregarCliente();
  32. void EliminarCliente();
  33. };
  34.  


el archivo cpp:
Código
  1. #pragma once
  2. #include "stdafx.h"
  3. #include "ICuenta.h"
  4.  
  5.  
  6. Cuenta::Cuenta() {};
  7. Cuenta::~Cuenta() {};
  8.  
  9. void Cuenta::Extraer(double) {};
  10. void Cuenta::Depositar(double) {};
  11. void Cuenta::Transferir(Cuenta, double) {};
  12. void Cuenta::AgregarCliente() {};
  13. void Cuenta::EliminarCliente() {};
  14.  
  15.  

Aparentemente el problema esta en el metodo "virtual void Transferir(Cuenta, double)". Necesito pasar por parametro a otro objeto Cuenta para hacer una transferencia.
El error que me pone es:

 sytanx error "Identifier 'Cuenta.'  en el ICuenta.h
y
Cuenta cannot instantiate abstract class en el ICuenta.cpp

Ayuda por favor




En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda: pasar por parametro de un metodo a una clase
« Respuesta #1 en: 29 Noviembre 2016, 15:55 pm »

Código
  1. virtual void Transferir(Cuenta, double) = 0;

Dentro de ICuenta estás utilizando una clase (Cuenta) que no ha sido declarada aun.
Querrías poner:
Código
  1. virtual void Transferir(ICuenta*, double) = 0;
Si es así, solo sería poner eso (teniendo en cuenta que debes poner o puntero o referencia (&).

Si realmente quieres utilizar Cuenta, entonces pon antes de ICuenta:
Código
  1. class Cuenta;
  2.  
  3. class ICuenta
  4. {
  5. std::string Nombre;
  6. double Saldo;
  7.  
  8. public:
  9. virtual void Extraer(double) = 0;
  10. virtual void Depositar(double) = 0;
  11. virtual void Transferir(Cuenta, double) = 0;
  12. };
Así, el compilador sabe que existe esa clase (aunque no sepa nada de ella).


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problemas metodo con parametro (solucionado) era sin parametro XD
Java
rub'n 6 6,943 Último mensaje 25 Noviembre 2010, 16:45 pm
por Afsoon
¿Como llamar al metodo de una clase sin pasar por su constructor?
Java
GaudyG 5 7,758 Último mensaje 14 Junio 2011, 00:22 am
por Stoya
Problema al pasar funcion como parametro a un inicializador de clase [C++][ok]
Programación C/C++
<[(x)]> 7 7,379 Último mensaje 17 Abril 2012, 05:30 am
por <[(x)]>
PHP OO Pasar un parametro o variable a una clase « 1 2 3 »
PHP
Slikp 21 8,904 Último mensaje 6 Noviembre 2014, 18:29 pm
por T. Collins
Pasar un arreglo desde el main a un metodo en una clase « 1 2 »
Programación General
rgomez9119 15 10,684 Último mensaje 4 Noviembre 2016, 15:57 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines