C ++ 구조체 용 함수


93

일반적으로 다음과 같이 C ++ 구조체에 대한 변수를 정의 할 수 있습니다.

struct foo {
  int bar;
};

구조체에 대한 함수도 정의 할 수 있습니까? 이러한 기능을 어떻게 사용합니까?


4
예. 당신은 C ++의 클래스를 위해 할 동일로
DumbCoder

답변:


143

예, a structclass기본 액세스 수준 (멤버 별 및 상속 별)을 제외하고 는 a 와 동일합니다 . (그리고 class템플릿과 함께 사용할 때 추가 의미 가 있습니다)

클래스에서 지원하는 모든 기능은 결과적으로 구조체에서 지원됩니다. 클래스에 사용하는 것과 동일한 방법을 사용합니다.

struct foo {
  int bar;
  foo() : bar(3) {}   //look, a constructor
  int getBar() 
  { 
    return bar; 
  }
};

foo f;
int y = f.getBar(); // y is 3

37

구조체는 클래스와 같은 기능을 가질 수 있습니다. 유일한 차이점은 기본적으로 공개된다는 것입니다.

struct A {
    void f() {}
};

또한 구조체에는 생성자와 소멸자가있을 수도 있습니다.

struct A {
    A() : x(5) {}
    ~A() {}

    private: int x;
};
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.