[C con Clase] Duda sobre unas simples preguntas?

Miguel Alejandro Jimenez Ramirez cerberbero en gmail.com
Sab Oct 6 00:21:17 CEST 2012


Muchas Gracias Steven , en realidad la persona que realizo el test me
dijo que la respuesta estaba bien , pero como tu dices habian muchos
errores en las preguntas , como estas diciendo el numero 2 no esta
bien escrito , pienso que intentaban declarar un constructor copia.
Pero el 6 , el operador de asignacion es implicitamente creado por el
compilador?

es decir pues escribo una clase

class A{
A(){//constructor}

A operator=(A &c1);
}

A A::operator=(A &c1){
//Codigo de asignacion
}

int main(){
 A obj1(//parametros),obj2;
obj2=obj1;

}

En este caso seguramente el operador no es implicito, pero si no
declaro este operador dentro de mi clase , el operador de asignacion
es implicito?, dando como parmetros la referencia de un objeto de la
clase?

gracias por resolver las dudas , creo que enviare el resto de
preguntas para estar seguro de lo que respondi , pero es que estan en
frances y me toca traducirlas.

Cordialmente

2012/10/6 Davidson, Steven <srd4121 en njit.edu>:
> Hola Miguel Alejandro,
>
> 2012/10/5 Miguel Alejandro Jimenez Ramirez <cerberbero en gmail.com>:
>> Espero que todo el muno este bien , bueno el dia de hoy quisiera que
>> me respondieran unas dudas que tengo sobre una prueba que presente en
>> C++ , tal vez aca pueda hallar la respuesta correcta a las siguientes
>> preguntas:
>>
>>
>> 1.Cuales son las funciones de una clase Class creadas implicitamente
>> por el compilador?
>>
>> 1.Class();
>> 2.Class(Class& cl);
>> 3.~Class();
>> 4.operator == (Class& cl);
>> 5.operator != (Class& cl);
>> 6.operator = (Class& cl);
>>
>> rta=1,2,3
>>
>> Mañana les envio otra de las preguntas por ahora diganme si mi
>> respuesta estaba bien, creo que si espero no haberme equivocado.
>>
>
> Casi. Te falta el #6. Además, el #2 no es del todo correcto; debería ser,
>
> Class( const Class & cl );
>
> También hay que completar la respuesta comentando que los
> constructores por defecto sólo existen cuando no se ha definido ningún
> constructor. Por ejemplo, si hacemos esto:
>
> class Algo
> {
> public:
>   Algo( int a );
> };
>
> int main()
> {
>   Algo obj;
>
>   return 0;
> }
>
> El compilador lanzará un error, porque no existe un constructor, que
> no acepte parámetros. No existe el constructor, sin parámetros, por
> defecto, porque hemos definido un constructor.
>
>
> Espero haber aclarado la inquietud.
>
> Steven
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ



-- 
MIGUEL ALEJANDRO JIMENEZ R.




Más información sobre la lista de distribución Cconclase