类名
类声明引入新类型,调用类名或类类型,以便程序。 除前向声明,这些类声明还为类的定义特定翻译单元的。 只能具有特定类的定义类型的每个翻译单元。 使用这些新类类型,可以声明对象,并且,检查的编译器可以执行验证类型不兼容的操作与类型在对象不执行。
备注
此类型检查的示例包括:
// 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;
}
如上面的代码说明,操作 (如通过的分配和的参数) 在类类型的对象会检查与内置类型对象相同的类型。
由于编译器区分类类型之间,函数可以基于类类型参数以及内置类型参数重载。 有关重载函数的更多信息,请参见 函数重载、 和 重载。