<div dir="ltr"><div><div><div>De paso aprovecho y pregunto algo , si yo tengo el siguiente codigo<br><br></div>class A{<br></div>public:<br></div><div>string getA() const {return a;}<br></div>void ver(){cout<<"la palabra es : "<<getA()<endl;}<br>
<div><div><br>private:<br></div><div>string a;<br></div><div>};<br><br><br></div><div>class B{<br></div><div><br>public:<br><br></div><div>void almacenar(A test,int n){<br></div><div>while(n=!1){<br>A *test=new A;<br>v.push_back(<b>list);</b><br>
</div><div>delete test;<br></div><div>                 }                                         <br></div><div>void imprimir(){<br></div><div>// acceder al metodo ver de la clase A<br></div><div>for(int p=1; p=list.size;p++){<br>
</div><div>list[p]->ver();<br>                                         }<br>}<br>private:<br></div><div>vector<A*> list;<br></div><div>}<br>*********************************************<br></div><div>Bueno mi pregunta es sobre el acceso al metodo ver de la clase A , ya que list es in vector de apuntadores y no he logrado acceder , no se como hacer la sintaxis , podrian colaborarme con esta parte? , gracias quedo atento a todos sus comentarios<br>
<br><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-13 9:19 GMT+01:00 Miguel Alejandro Jimenez Ramirez <span dir="ltr"><<a href="mailto:cerberbero@gmail.com" target="_blank">cerberbero@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>1.Finalmente lo que creo que deberia hacer es crar un destructor en donde se libera la memoria con un dlete de todos los miembros del vector.<br>
</div> 2. Como segunda pregunta teng un pedazo de codigo que no entiendo muy bien ya que se utiliza la palabra reservada auto , la busque en el curso de la pagina de <a href="http://conclase.net" target="_blank">conclase.net</a> pero la verdad creoq ue la definicon es muy poca para lo que se esta haciendo en este codigo , podrias explicarme como funciona el uso de esta palabra en el siguiente fragmento de codigo:<br>

<br>


        
        
        
        


<p style="margin-bottom:0cm">Enum ColorCsilla{VACIO, CIRCULO,CRUZ};</p>typedef < array<array<ColorCasilla
, 3> , 3> Celda ;
<p style="margin-bottom:0cm">class juego{</p><p style="margin-bottom:0cm">public:</p>
<p style="margin-bottom:0cm">void inisalizar(){
</p><p style="margin-bottom:0cm">for (auto& linea :celda){
</p><p style="margin-bottom:0cm">for(auto& kase : celda){</p>
<p style="margin-bottom:0cm">    kase = VACIO;</p>}<br>}<br>}<br>private:<br>Celda celda;<br>}

<br><div><br><br></div><div>El tipo enum , lo entiendo bien , paro la parte del typedef es un poco confusa ,en que capitulo del curso podria conseguir informacion sobre este tipo de usos del typedrf.<br><br></div><div>Gracias quedo pendiente.<br>

</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-12 22:25 GMT+01:00 Salvador Pozo <span dir="ltr"><<a href="mailto:salvador@conclase.net" target="_blank">salvador@conclase.net</a>></span>:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El pasado 2014-03-12 20:55:39, Miguel Alejandro jimenez escribió:<br>
<br>
MAj> Pues se me ha generado otra duda pero es sobre vectores , teniendo la<br>
MAj> siguiente definicion de una funcion :<br>
MAj> void Bibliotheque::stocker(Oeuvre & test, int n=1 )  {<br>
MAj>        while (n >=1){<br>
MAj>       list.push_back(new Exemplaire(test));<br>
MAj>       cout<<"PRUEBA"<<endl;<br>
MAj>       n--;<br>
MAj>       }<br>
MAj> }<br>
MAj> En esta funcion no se como liberar los espacios de memoria , es decir como<br>
MAj> utilizo la palabra reservada delete , para liberar la memoria , o<br>
MAj> sencillamente en este caso no es necesario , por que va rellenando el<br>
MAj> vector con los parametros dados?<br>
<br>
Hola:<br>
<br>
Entiendo que la memoria que quieres liberar es la apuntada por test.<br>
<br>
Yo soy partidario de que, salvo que el problema obligue a actuar de otro modo, la memoria se libere en el mismo nivel que se obtiene.<br>
<br>
Es decir, si la memoria para test se obtiene en el nivel en que se invoca al método "stocker", se libere en ese mismo nivel. O sea, cuando se retorne de la función.<br>
<br>
A la hora de depurar o analizar un programa, es más sencillo si las reservas y liberaciones de memoria se hacen en la misma función.<br>
<br>
En este caso sí es necesario liberar la memoria asignada a test, ya que en el vector almacenas una copia de test, no el propio test. Bueno, al menos creo que deberías almacenar una copia. Si "new Exemplaire(test)" no crea una copia de test, podrías tener algunos problemas de incongruencia.<br>


<br>
Por ejemplo, si haces uso de test después del retorno, o si la liberas, o si se libera automáticamente, el contenido del vector podría modificarse o corromperse sin una causa evidente.<br>
<br>
Desconozco el mecaniemo exacto de este procedimiento, así que no estoy muy seguro de esto.<br>
<br>
Hasta pronto.<br>
<div><div><br>
--<br>
Salvador Pozo (Administrador)<br>
mailto:<a href="mailto:salvador@conclase.net" target="_blank">salvador@conclase.net</a><br>
Blog con Clase: <a href="http://blogconclase.wordpress.com" target="_blank">http://blogconclase.wordpress.com</a><br>
Con Clase: <a href="http://conclase.net" target="_blank">http://conclase.net</a><br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div></div></div><br><br clear="all"><div class=""><br>-- <br>MIGUEL ALEJANDRO JIMENEZ R.<br>
</div></div>
</blockquote></div><br><br clear="all"><br>-- <br>MIGUEL ALEJANDRO JIMENEZ R.<br>
</div>