[c++] 구조체(struct)와 클래스

개발자·2021년 8월 11일
0
post-thumbnail

구조체

객체를 표현하기 위해 하나 이상의 변수가 필요할 때 사용하는 사용자 정의 타입

정의

struct Student {
    string name;
    int kor;
    int eng;
    int math;
    
    void print() {
    	cout << name << endl;
        cout << kor+eng+math/3 << endl;
    }
}

선언 및 초기화

int main() {
    // 선언과 동시에 초기화
    Student s1 = {"이름", 100, 80, 90};
    s1.print();
    // vector<Student> s; 배열이나 벡터로도 사용 가능
    
    // 선언 후 초기화
    Student s2;
    s2.kor = "이름";
    s2.kor = 100;
    s2.eng = 80;
    s2.math = 90;  
    s2.print();
}

클래스

정의

class MyStruct {
public:
    string name;
    int kor;
    int eng;
    int m;
    
    Student(string name, int kor, int eng, int m) {
        this->name = name;
        this->kor = kor;
        this->eng = eng;
        this->m = m;
    }

    void print(void) { 
    	cout << name << endl;
        cout << kor+eng+math/3 << endl;
    }
};

선언 및 초기화

int main(void) {
    // 선언과 동시에 초기화
    Student s1 = {"이름", 100, 80, 90};
    s1.print();
    
    // 선언 후 초기화
    Student s2;
    s2.kor = "이름";
    s2.kor = 100;
    s2.eng = 80;
    s2.math = 90;
	s2.print();
    
    return 0;
}

차이점

  • 구조체는 public으로 클래스는 private로 선언된다.
profile
log.info("공부 기록 블로9")

0개의 댓글

관련 채용 정보