类名

类声明引入新类型,调用类名或类类型,以便程序。 除前向声明,这些类声明还为类的定义特定翻译单元的。 只能具有特定类的定义类型的每个翻译单元。 使用这些新类类型,可以声明对象,并且,检查的编译器可以执行验证类型不兼容的操作与类型在对象不执行。

备注

此类型检查的示例包括:

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

如上面的代码说明,操作 (如通过的分配和的参数) 在类类型的对象会检查与内置类型对象相同的类型。

由于编译器区分类类型之间,函数可以基于类类型参数以及内置类型参数重载。 有关重载函数的更多信息,请参见 函数重载、重载

请参见

参考

选件类、结构和联合