SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Pollitopensativo en Lunes 27 de Septiembre de 2004, 20:05

Título: Problemas Con Inicializacion En Una Clase
Publicado por: Pollitopensativo en Lunes 27 de Septiembre de 2004, 20:05
no se si me pueden ayudar ... vean el codigo

code
class uv{
private:
 float uv [12][10];
public:
uv();
 };




uv reg;

int  j=0;
cout<<"Ingresando a registro radiaci¢n uv."<<endl;
for(int i=0;i<12;i++)
 do{
 cout<<"Ingrese cantidad radiaci¢n ;
  cin >>reg.uv[j];
 j++;}while(j<10);
/code



ayudenme plz ... es un pedazo del codigo pero me sale un problema dice que no es accesible el uv::uv.... en realidad estoy probando no se como mandar un arreglo... al cargarlo asi como sale en el codigo me sale ese error..
saludos
Título: Re: Problemas Con Inicializacion En Una Clase
Publicado por: Diodo en Lunes 27 de Septiembre de 2004, 21:03
Hola

El fallo es evidente, no puedes acceder a la parte privada de una clase desde fuera de ella.Esta es la linea que da el problema:

cin >>reg.uv[j];  

Para arreglar esto tienes muchas opcciones, la mas de andar por casa seria poner el atributo en public, una mejor seria sobrecargar el operador >>, aqui te pongo un ejemplo de sobrecarga a ver si te sirve:

Código: Text
  1.  
  2. class vector
  3. {
  4.  
  5. friend istream &operator &#62;&#62;(istream &ci,const vector &v); // esto es la declaracion del operador sobrecargado
  6.  
  7. }  
  8.  
  9. // esto es la definicion
  10.  
  11. istream &operator &#62;&#62;(istream &ci,const vector &v)
  12. {
  13. for (inti=0;i&#60;v.num;i++)ci&#62;&#62;v.valores[i]; //recorre el vector e introduce los valores en la variable
  14. return ci // siempre hay que devolver ci que es la variable de entrada
  15. }
  16.  
  17.  
  18.  
  19.  

Espero q te sirva , chao  :hola:
Título: Re: Problemas Con Inicializacion En Una Clase
Publicado por: Pollitopensativo en Miércoles 29 de Septiembre de 2004, 08:51
buen dato grax ....