Compartir a través de


Nombres de clase

Las declaraciones de clase muestran los nuevos tipos, denominados nombres de clase o tipos de clase, en programas.A excepción de declaraciones adelantadas, estas declaraciones de clase también actúan como definiciones de clase de una unidad de traducción especificada.Solo puede haber una definición de un tipo de clase proporcionado por la unidad de traducción.Mediante estos nuevos tipos de clase, puede declarar objetos, y el compilador puede realizar la comprobación de tipos para comprobar que no se realiza ninguna operación incompatibles con los tipos en los objetos.

Comentarios

Un ejemplo de este tipo de comprobación de tipo es:

// class_names.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
class Point {
public:
   unsigned x, y;
};

class Rect {
public:
   unsigned x1, y1, x2, y2;
};

// Prototype a function that takes two arguments, one of type
//  Point and the other of type pointer to Rect.
int PtInRect( Point, Rect & );

int main() {
   Point pt;
   Rect  rect;

   rect = pt;   // C2679 Types are incompatible.
   pt = rect;   // C2679 Types are incompatible.

  // Error. Arguments to PtInRect are reversed.
  // cout << "Point is " << PtInRect( rect, pt ) ? "" : "not"
  //   << " in rectangle" << endl;
}

Mientras se muestra el código anterior, las operaciones (como asignación y argumento que pasan) en objetos de tipo de clase están sujetos a la misma comprobación de tipo que objetos de tipos integrados.

Dado que el compilador distingue entre los tipos de clase, las funciones se pueden sobrecargar en base de argumentos de tipo de clase así como argumentos de tipo integrados.Para obtener más información sobre las funciones sobrecargadas, vea La sobrecarga de la función y La sobrecarga.

Vea también

Referencia

Clases, estructuras, uniones y