<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>