Inicia sesión




Curso De C++ - Capitulo 34

 

Más sobre las funciones

Funciones sobrecargadas

Ya hemos visto que se pueden sobrecargar los constructores, y en el capítulo 21 vimos que se podía sobrecargar cualquier función, aunque no pertenezcan a ninguna clase. Pues bien, las funciones miembros de las clases también pueden sobrecargarse, como supongo que ya habrás supuesto.
No hay mucho más que añadir, así que pondré un ejemplo:

// Sobrecarga de funciones
//Mayo 2015 Tutoriales En Linea


#include <iostream>
using namespace std;
 
struct punto3D {
   float x, y, z;
};
 
class punto {
  public:
   punto(float xi, float yi, float zi) : 
      x(xi), y(yi), z(zi) {}
   punto(punto3D p) : x(p.x), y(p.y), z(p.z) {}
   
   void Asignar(float xi, float yi, float zi) {
      x = xi;
      y = yi;
      z = zi;
   }
   
   void Asignar(punto3D p) {
      Asignar(p.x, p.y, p.z);
   }
   
   void Ver() {
      cout << "(" << x << "," << y 
           << "," << z << ")" << endl;
   }
   
  private:
   float x, y, z;
}; 

int main() {
   punto P(0,0,0);
   punto3D p3d = {32,45,74};
   
   P.Ver();
   P.Asignar(p3d); 
   P.Ver();
   P.Asignar(12,35,12);
   P.Ver();

   return 0;
}
Ejecutar este código en codepad.

Como se ve, en C++ las funciones sobrecargadas funcionan igual dentro y fuera de las clases.

Funciones con argumentos con valores por defecto

También hemos visto que se pueden usar argumentos con valores por defecto en los constructores, y también vimos en el capítulo 20 que se podían usar con cualquier función fuera de las clases. En las funciones miembros de las clases también pueden usarse parámetros con valores por defecto, del mismo modo que fuera de las clases.

De nuevo ilustraremos esto con un ejemplo:
// Parámetros con valores por defecto
// Mayo 2015 Tutoriales En Linea

#include <iostream>
using namespace std;
 
class punto {
  public:
   punto(float xi, float yi, float zi) : 
      x(xi), y(yi), z(zi) {}
   
   void Asignar(float xi, float yi = 0, float zi = 0) {
      x = xi;
      y = yi;
      z = zi;
   }

   void Ver() {
      cout << "(" << x << "," << y << "," 
           << z << ")" << endl;
   }
   
  private:
   float x, y, z;
}; 

int main() {
   punto P(0,0,0);
   
   P.Ver();
   P.Asignar(12);
   P.Ver();
   P.Asignar(16,35);
   P.Ver();
   P.Asignar(34,43,12);
   P.Ver();

   return 0;
} 
Ejecutar este código en codepad.
Las reglas para definir parámetros con valores por defecto son las mismas que se expusieron en el capítulo 22.
Capitulo 35  | Ir al Principio

Te sugiero seguir leyendo...


  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2015-05-25
  • Categorias: Noticias Tutorial Tutorial C++

Curso De C++ - Capitulo 34
Curso De C++ - Capitulo 34 Curso De C++ - Capitulo 34...
Tutoriales en linea




Información
Usuarios que no esten registrados no pueden dejar comentarios, te invitamos a que te registre!






La importancia del video en la experiencia del usuario para tu página web

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2020-07-13
  • Categorias: WebSite Noticias Tutorial

Seguridad en Internet

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2020-07-13
  • Categorias: Noticias Tutorial Google Internet Red Claves Wifi Seguridad

Análisis De las causas y consecuencias de los ataques de hackers

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2020-07-13
  • Categorias: Internet Seguridad hacker Noticias Tutorial Informatica

Access desde cero

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2020-06-14
  • Categorias: Herramientas Ofimaticas Microsoft Cursos Noticias Tutorial

Curso de CSS avanzado

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2020-01-18
  • Categorias: Diseño Web CSS3 html5 Html Cursos Noticias Tutorial

Curso de Introducción a CSS

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2020-01-18
  • Categorias: Diseño Web CSS3 WebSite webmasters Cursos Noticias Tutorial