다음을 통해 공유


클래스 이름

클래스 선언을 클래스 이름 또는 클래스 형식으로 프로그램 이라는 새로운 형식을 소개 합니다.전방 선언을 제외 하 고 이러한 클래스 선언은 또한 특정된 번역 단위에 대 한 클래스 정의 역할을 합니다.번역 단위 당 주어진된 클래스 형식에 대 한 정의가 있을 수 있습니다.이러한 새 클래스 형식을 사용 하 여 개체를 선언할 수 있습니다 및 컴파일러 유형 검사를 사용할 수 있는 작업의 종류와 호환 되지 않는 개체에 수행 됩니다 확인을 수행할 수 있습니다.

설명

이러한 형식을 확인 하는 예제가입니다.

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

앞의 코드에서 알 수 있듯이 클래스 형식의 개체 작업 (예: 할당 및 인수 전달) 형식이 같은 개체의 기본 제공 형식으로 확인 될 수 있습니다.

컴파일러 클래스 형식 사이 구분 하기 때문에 함수를 클래스 형식 인수 뿐만 아니라 기본 제공 된 형식 인수 기준으로 오버 로드 수 있습니다.오버 로드 된 함수에 대 한 자세한 내용은 함수 오버 로드오버 로드.

참고 항목

참조

클래스, 구조체 및 공용 구조체