Partager via


Noms de classe

Les déclarations de classe présentent des nouveaux types, les noms de classe appelés ou types de classe, dans des programmes.À l'exception de les déclarations anticipées, ces déclarations de classe agissent également comme définitions de la classe pour une unité de traduction données.Il peut y avoir qu'une seule définition d'un type donné de classe par unité de traduction.L'utilisation de ces nouveaux types de classe, vous pouvez déclarer des objets, et le compilateur peut exécuter la vérification de type pour vérifier qu'aucune opération incompatible avec les types n'est exécutée sur les objets.

Notes

un exemple d'une telle vérification de type est :

// 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;
}

Lorsque le code précédent illustre, les opérations (telles que l'assignation et l'argument en passant) sur les objets de classe-type sont soumises à la même vérification de type que des objets de types intégrés.

Étant donné que le compilateur respecte les types de classe, des fonctions peuvent être surchargées selon les arguments de classe-type ainsi que des arguments de type intégré.Pour plus d'informations sur les fonctions surchargées, consultez surcharge de fonction et le Surcharge.

Voir aussi

Référence

Classes, structures, unions et