<div dir="ltr"><div><div><div><div><div>Hoa a todos el dia de hoy les escribo por qu etengo una dud sobre clases. Resulta que estoy haciendo un programa con dos clases , no son clases que se heredan , pero si son clases que van a utilizarse como instancias entre ellas es decir , voy a mostrar un ejemplo para que me entiendan:<br>
<br></div>class A{<br></div>public:<br><br></div>//constructores<br><br></div>A(string a , string b , bool c=true )arg1(a),arg2(b),arg3(c){}<br></div><div><br>string getArg1{return arg1;}<br>string getArg1{return arg2;}<br>
bool getArg1{return arg3;}<br><br>private:<br><br>// objetos privados de la clase<br></div><div><div><div><div>string arg1;<br></div><div>string arg2;<br>bool arg3;<br></div><div>//El problema exige que no se pueda hacer una copia de esta clase , por lo <br>
</div><div>//tanto declaro el contructor copia como privado<br></div><div>A(A const &b){}<br></div><div><br></div><div>};<br><br></div><div>class B{<br>public:<br> B (string T , A a , string lan ):tit(T),aut(a),leng(lan){}<br>
<br> <br> string getTit(){return tit;}<br> string getLeng(){return leng;}<br> Auteur getA()const{return aut;} <br><br> void affichage(){<br> cout<<"Titre: "<<getTit()<<" , "<<aut.getArg1()<<" , en " <<getLeng( )<<endl;<br>
}<br><br> private:<br> <br> string tit;<br> A aut;<br> string leng; <br> };<br></div><div><br>};<br clear="all"></div><div><div><div><br></div><div>Ahora bien si en el main declaro las clases asi:<br>
<br></div><div>int main(){<br></div><div>A as("ahuu",true);<br></div><div>B a2("tir1",as,"lentg");<br>}<br><br></div><div>De una el compilador me dice que tengo un error por haber declarado el contructor copia como privado y no se en que estoy fallando , sera alguin puede orientarme y decirme en donde esta mi error? , <br>
<br></div><div>Gracias , quedo a la espera de sus comentarios<br><br><br></div><div><br><br>}<br></div><div><br><br>-- <br>MIGUEL ALEJANDRO JIMENEZ R.<br>
</div></div></div></div></div></div></div>