다음을 통해 공유


클래스 (C++)

class 키워드 클래스 형식을 선언 하거나 클래스 형식의 개체를 정의 합니다.

[template-spec] class [ms-decl-spec] [tag [: base-list ]]
{
   member-list
} [declarators];
[ class ] tag declarators;

매개 변수

  • template-spec
    서식 파일 선택 사양입니다.자세한 내용은 서식 파일 사양를 참조하십시오.

  • class
    class 키워드입니다.

  • ms-decl-spec
    선택적 저장소 클래스 사양입니다.자세한 내용은 참조 하십시오 있는 __declspec 키워드.

  • tag
    클래스를 지정 된 형식 이름입니다.태그 예약어 클래스 범위 내에 있게 됩니다.태그는 선택적입니다.지정 하지 않으면 익명 클래스 정의 됩니다.자세한 내용은 익명 클래스 형식은.

  • base-list
    선택 사항 목록 클래스 또는 구조체의 해당 멤버에서이 클래스를 파생 합니다.자세한 내용은 기본 클래스를 참조하십시오.각 기본 클래스 또는 구조체 이름으로 액세스 지정자 앞에 (public, 개인, 보호) 및 가상 키워드.멤버 액세스 테이블을 참조 하십시오. 클래스 멤버에 대 한 액세스를 제어 에 대 한 자세한 내용은.

  • member-list
    클래스 멤버의 목록입니다.자세한 내용은 클래스 멤버을 참조하십시오.

  • declarators
    선언 자 목록 클래스 형식의 하나 이상의 인스턴스 이름이 지정 됩니다.선언 자 모든 데이터 멤버가 클래스의 이니셜라이저 목록 포함 될 수 있습니다 public.이 데이터 멤버는 구조체에서 일반적인입니다 public 에서보다 기본적으로 클래스입니다.자세한 내용은 선언 자 개요를 참조하십시오.

설명

클래스에 대 한 자세한 내용은 일반적으로 다음 항목 중 하나를 참조 하십시오.

관리 되는 클래스 및 구조체에 대 한 자세한 내용은 클래스 및 구조체

예제

// class.cpp
// compile with: /EHsc
// Example of the class keyword
// Exhibits polymorphism/virtual functions.

#include <iostream>
#include <string>
#define TRUE = 1
using namespace std;

class dog
{
public:
   dog()
   {
      _legs = 4;
      _bark = true;
   }

   void setDogSize(string dogSize)
   {
      _dogSize = dogSize;
   }
   virtual void setEars(string type)      // virtual function
   {
      _earType = type;
   }

private:
   string _dogSize, _earType;
   int _legs;
   bool _bark;

};

class breed : public dog
{
public:
   breed( string color, string size)
   {
      _color = color;
      setDogSize(size);
   }

   string getColor()
   {
      return _color;
   }

   // virtual function redefined
   void setEars(string length, string type)
   {
      _earLength = length;
      _earType = type;
   }

protected:
   string _color, _earLength, _earType;
};

int main()
{
   dog mongrel;
   breed labrador("yellow", "large");
   mongrel.setEars("pointy");
   labrador.setEars("long", "floppy");
   cout << "Cody is a " << labrador.getColor() << " labrador" << endl;
}

참고 항목

참조

C + + 키워드

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