Ver Mensaje Individual
  #35 (permalink)  
Antiguo 11/06/2015, 15:24
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: ¿Para qué necesito un Constructor? (Sí, novato inside XD).

La utilidad justo es esa... es no dejar que llames directamente a totalcanciones. Si quieres hacer eso mejor ponga en la parte publica, lo que hace que tenga aun menos sentido ya que trabajar con clases es asegurar que no se pueda tener acceso externo a las variables miembro.

En vez de llamar directamente, lo que necesitas es llamar a algún método geter que te devuelva el entero para ti, ya que solo puedes acceder desde la parte publica de la misma clase.

Seria hacer lo mismo que hiciste con el constructor pero el inverso. Te dejo el ejemplo.
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct cd {
  5. public:
  6.     cd ( float c, int d );
  7.     int getTotalcanciones() const;
  8. private:
  9.     float precio;
  10.     int totalcanciones;
  11. };
  12.  
  13. cd::cd ( float c, int d ) {
  14.     precio = c;
  15.     totalcanciones = d;
  16. }
  17.  
  18. int cd::getTotalcanciones() const{
  19.     return totalcanciones;
  20. }
  21.  
  22. int main() {
  23.     cd cd2 ( 12, 15 );
  24.     cout << cd2.getTotalcanciones() << endl << endl; //Método geter o consultor
  25.    
  26.     cin.ignore();
  27. }
Esa es una función miembro a la que se le llama geter, y la que modifica el valor se le dice seter.

Entonces suponiendo que tienes una variable miembro llamada int valor, si quieres obtener dicha variable, llamas a getValor() por ejemplo, y si la vas a modificar seria setValor(unValor), donde un valor es un entero que queremos asignar el valor. Fácil, busque sobre métodos geters y seters en C++ y ya lo verás.

También se les dice métodos consultores e modificadores.

Si vas aquí http://v1.minidosis.org/C++/ ...a la parte al final donde dice 20.Clases, encontrarás todo sobre el tema.

Espero que te haya servido.

PD: No alargue más el tema, que ya es muy largo... Dale por concluido, si tienes más dudas abra otro especifico. Los temas sirven para ayudar otras personas, y deben ser cortos y claros. hace tiempo que ese dejo de ser eso.

Suerte.