<구조체> C++ 에서의 구조체 (struct)
2021. 6. 19. 05:07ㆍProgramming Language/C++
1. struct 변수의 선언
2. struct 안에 함수 삽입
3. struct 안에 enum 상수 선언
4. struct 안 함수를 외부로 빼기
1. struct 변수의 선언
C 언어에서는 struct 변수를 다음과 같이 선언하지만,
int main(void)
{
struct Student leeSangHoon;
struct Student langHoonly;
return 0;
}
C++에서는 struct 키워드를 생략하고 다음과 같이 변수를 선언할 수 있다.
int main(void)
{
Student leeSangHoon;
Student sangHoonly = {"대구 출생", 28};
return 0;
}
2. struct 안에 함수 삽입
C++ 에서는 struct 안에 함수를 삽입할 수 있다.
struct Student
{
char name[NAME_LEN];
int grade;
int age;
void Greet()
{
std::cout << "안녕하세요!" << std::endl;
}
};
그리고, 다음과 같이 실행이 가능하다.
Student sangHoonly = {"이상훈", 4, 28};
sangHoonly.Greet();
// 출력 : "안녕하세요!"
3. struct 안에 enum 상수의 선언
struct 안에는 enum 상수 또한 포함시킬 수 있다.
struct Student
{
enum {
NAME_LEN = 10;
MAX_CLASS = 4;
MAX_AGE = 100;
};
char name[NAME_LEN];
int grade;
int age;
void Greet() {...};
void Study() {...};
};
4. struct 안 함수를 외부로 빼기
모든 코드 작업에서도 마찬가지겠지만, struct 또한 가독성이 좋아야 한다. 즉 코드 분석 시, struct 내부 함수는 그 기능에 중점을 두지, 세부 구현에는 크게 신경쓰지 않는다. 따라서, struct 내에서 정의된 함수가 많거나 함수의 길이가 길면, struct 밖에 빼낼 필요가 있다.
struct Student
{
.....
void Study();
void Greet();
.....
};
void Student::Study()
{
.....
}
inline void Student::Greet() // 함수를 인라인으로 처리. 원래 구조체 안에서는 함수가 인라인 처리됨.
{
.....
}