[C con Clase] linea de codigo que no entiendo

Steven Davidson srd4121 en njit.edu
Jue Jul 17 00:17:26 CEST 2008


Hola Moisés,

Moises Mejía wrote:
> que tal, saludos a todos, estoy iniciando con la programacion en c++

Ante todo, bienvenido al grupo y a este "mundillo" de la programación.

> y dentro del curso que llevo que es de programacion orientada a
> objetos me dieron un folleto que estoy estudiando pero dentro de los
> ejemplos encontre lo siguiente:
> 
>   inline <declaración de la función>
> 
>   inline float suma (float a, float b) {
>        Return a+b;
>   }
>   inline int max( int a, int b) {
>        return (a > b) ? a : b;
>   }
> 
> 
> es sobre la instruccion inline, pero la linea:
>        return (a > b) ? a : b; no entiendo que es lo que hace, se supone 
> que es para devolver el valor de la funcion cierto, pero que valor 
> devuelve, que hace el signo de interrogacion y los dos puntos. les 
> agradecere mucho su ayuda.

Se trata de un operador de C/C++. Es el único operador ternario el cual 
sirve como operador condicional. Básicamente, es parecido a un 'if/else' 
pero como operador. Sugiero consultar el capítulo 18 de nuestro curso de 
C++. Puedes dirigirte a: 
http://c.conclase.net/curso/index.php?cap=018#OP3_OPCOND

La expresión anterior se puede reescribir con sentencias de esta manera:

if( a > b )
   return a;
return b;


Espero haber aclarado la duda.

Steven





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