[C con Clase] Problema con interpretación de código relaccionado con clases.

Pablo Alejandro Herrero pablusplus en gmail.com
Jue Ago 2 05:22:42 CEST 2012


Para ser breve...

tipo_de_retorno    nombre_de_la_funcion    (tipo_del_argumento argumento)

cada objeto declarado en c/c++ tiene un tipo. Ya sea el retorno de una
funcion como sus argumentos.
Lo que señalas es la declaración de dos funciones, de nombres FunctionOne y
FunctionTwo las cuales admiten por argumento un objeto de clase SimpleCat
-FunctionOne- y un puntero a objeto de clase SimpleCat -FunctionTwo- y a su
vez devuelven como retorno un objeto de clase SimpleCat y un puntero a un
objeto de clase SimpleCat respectivamente.


>> SimpleCat FunctionOne(SimpleCat theCat);
>> SimpleCat* FunctionTwo(SimpleCat *theCat);

El 1 de agosto de 2012 21:27, Oscar <pelucheloko en hotmail.com> escribió:

>   Hola que tal.
>
> Tengo el siguiente código el cual me crea una confusión alarmante en las
> líneas que marcaré a su empieze con >>
>
> Sé que es una función lo que se declara, pero no entiendo los parámetros
> de entrada a esta.
>
>
>  #include <iostream>
>
> class SimpleCat
> {
> public:
>     SimpleCat();               // constructor
>     SimpleCat(SimpleCat&);     // copy constructor
>     ~SimpleCat();              // destructor
> };
>
> SimpleCat::SimpleCat()
> {
>     std::cout << "Simple Cat Constructor ...\n";
> }
>
> SimpleCat::SimpleCat(SimpleCat&)
> {
>     std::cout << "Simple Cat Copy Constructor ...\n";
> }
>
> SimpleCat::~SimpleCat()
> {
>     std::cout << "Simple Cat Destructor ...\n";
> }
>
> >> SimpleCat FunctionOne(SimpleCat theCat);
> >> SimpleCat* FunctionTwo(SimpleCat *theCat);
>
> int main()
> {
>     std::cout << "Making a cat ...\n";
>     SimpleCat Frisky;
>     std::cout << "Calling FunctionOne ...\n";
>     FunctionOne(Frisky);
>     std::cout << "Calling FunctionTwo ...\n";
>     FunctionTwo(&Frisky);
>     return 0;
> }
>
> // FunctionOne, passes by value
> SimpleCat FunctionOne(SimpleCat theCat)
> {
>     std::cout << "Function One. Returning ...\n";
>     return theCat;
> }
>
> // functionTwo, passes by reference
> SimpleCat* FunctionTwo (SimpleCat *theCat)
> {
>     std::cout << "Function Two. Returning ...\n";
>     return theCat;
> }
>
> Haber si me pueden iluminar un poco por favor.
>
> Muchas gracias.
>
>
> *Oscar Aparicio Holgado*
> Administrador de sistemas.
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120802/bf7bcdb2/attachment.html>


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