Udostępnij za pośrednictwem


Nazwy klas

Deklaracje klas wprowadzenie nowych typów, nazywane nazw klas lub typów klasy do programów.Z wyjątkiem do przodu deklaracje deklaracje te klasy również działać jako definicje klasy dla jednostki danego tłumaczenia.Może istnieć tylko jedna definicja dla typu danej klasy na jednostkę tłumaczenia.Za pomocą tych nowych typów klasy, można zadeklarować obiekty i kompilator można wykonać sprawdzania, aby zweryfikować, że żadne niezgodne typy operacje są wykonywane na obiekty typu.

Uwagi

Przykładem takiego typu sprawdzania jest:

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

Jak poprzedni kod ilustruje, operacji (takich jak przypisania i przekazywanie argumentów), typem klasy obiektów są przedmiotem tego samego typu, sprawdzanie jako obiekty wbudowane typy.

Ponieważ kompilator rozróżnia typu klasy, funkcje można przeciążony z argumentów typu klasy, jak również argumentów typu wbudowanego.Aby uzyskać więcej informacji na temat funkcji zastąpionej zobacz Przeciążanie funkcji i przeciążanie.

Zobacz też

Informacje

Klasy, struktury i związki