opciones son
ALTERNATIVA 1
puede utilizar plantillas
template <typename T>
T myfunction(T t)
{
return t + t;
}
ALTERNATIVA 2
función normal sobrecarga
bool myfunction(bool b)
{
}
int myfunction(int i)
{
}
usted proporcione una función diferente para cada tipo de cada argumento tu esperas. Puedes mezclarlo Alternativa 1. El compilador será el adecuado para ti.
ALTERNATIVA 3
Puede utilizar la unión
union myunion
{
int i;
char c;
bool b;
};
myunion my_function(myunion u)
{
}
ALTERNATIVA 4
Puede utilizar polimorfismo. Puede ser una exageración para int, char, bool pero útil para tipos de clases más complejas.
class BaseType
{
public:
virtual BaseType* myfunction() = 0;
virtual ~BaseType() {}
};
class IntType : public BaseType
{
int X;
BaseType* myfunction();
};
class BoolType : public BaseType
{
bool b;
BaseType* myfunction();
};
class CharType : public BaseType
{
char c;
BaseType* myfunction();
};
BaseType* myfunction(BaseType* b)
{
//will do the right thing based on the type of b
return b->myfunction();
}
que hay que buscar en las plantillas –
se llama [Plantillas] (http: //www.iis .sinica.edu.tw/~ kathy/vcstl/templates.htm) –
@SergioTulentsev Su enlace da un error 403 – pkqxdd