class 와 struct 차이

😎·2023년 2월 25일
0

CPP

목록 보기
44/46

class 와 struct

C++에서 classstruct의 차이점은 기본적으로 접근성이다.

class 멤버 변수와 함수는 기본적으로 private이다.
struct 멤버 변수와 함수는 기본적으로 public이다.

아래 예시를 보자.

#include <iostream>

class A {
    int a;
};

struct B {
    int a;
};

int main() {
    A test1;
    B test2;

    test1.a = 1;
    test2.a = 2;
    std::cout << "a : " << test1.a << std::endl;
    std::cout << "b : " << test2.a << std::endl;
    return 0;
}

에러가 발생하는 것을 볼 수 있다. 따라서, 위 코드에서 A 클래스의 int a 변수는 private 접근 제어자로 선언되어 있어, main 함수에서 test1.a = 1으로 값을 할당할 수 없다. 반면, B 구조체의 int a 변수는 public 접근 제어자로 선언되어 있어, main 함수에서 test2.a = 2로 값을 할당할 수 있다.

classpublic: 선언을 하면 에러가 사라진다.

#include <iostream>

class A {
	public:
    int a;
};

struct B {
    int a;
};

int main() {
    A test1;
    B test2;

    test1.a = 1;
    test2.a = 2;
    std::cout << "a : " << test1.a << std::endl;
    std::cout << "b : " << test2.a << std::endl;
    return 0;
}
profile
jaekim

0개의 댓글