[C con Clase] Problema con interpretación de código relaccionado con clases.
Oscar
pelucheloko en hotmail.com
Jue Ago 2 12:20:53 CEST 2012
Ah vale, ahora lo entiendo.
theCat es un objeto que se instancia en la función main, y puede ser como nombre theCat mismamente y/o otro nombre.
SimpleCat migato;
FunctionOne(migato);
Y retorna mismo tipo de retorno, SimpleCat.
Ayer no lo veía tan claro a pesar de ser sencillo ahora.
¡Muchas gracias Pablo!
From: Pablo Alejandro Herrero
Sent: Thursday, August 02, 2012 5:22 AM
To: Lista de correo sobre C y C++
Subject: Re: [C con Clase]Problema con interpretación de código relaccionado con clases.
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
--------------------------------------------------------------------------------
_______________________________________________
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/395e5f0a/attachment.html>
Más información sobre la lista de distribución Cconclase