C++
5-1 구조체
리버윤
2023. 10. 11. 12:48
728x90
C++의 기본 소스
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}
구조체
- C - struct
#include <iostream>
struct Man {
int age; //멤버
double weight;
}; //세미콜론 꼭 써주어야 함
int main()
{
struct Man kang, kim; //.cpp에서는 앞에 struct 생략 가능
kang.age = 21;
kang.weight = 50.2;
std::cout << kang.age << " " << kang.weight;
}
- C와 C++ 구조체의 차이점
#include <iostream>
struct Man {
int age; //멤버
double weight;
int getAge() { return age; } //멤버함수
void setAge(int a) { age = a; }
};
int main()
{
struct Man kang, kim;
kang.age = 21;
kang.weight = 50.2;
std::cout << kang.age << " " << kang.weight;
}
C언어의 구초체는 변수만 가능한데 C++은 구조체 안 변수 뿐만아니라 함수도 넣을 수 있다.
* 구조체 멤버 접근할 때
, 일반 변수는 멤버를 "."으로 접근하지만(minsu.age = 13)
구조체 포인터 변수일 경우 구조체_포인터_변수->멤버명; 이렇게 화살표를 사용하는 경우가 있다. (minjung->age = 7)
#include <iostream>
struct Man {
int age; //멤버
double weight;
int getAge() { return age; } //멤버함수
void setAge(int a) { age = a; }
};
int main()
{
struct Man kang, *kim;
kim->age = 12; //포인터 변수이기 때문에 -> 사용함
std::cout << kim->age;
kang.age = 21;
kang.weight = 50.2;
std::cout << kang.age << " " << kang.weight;
}
구조체 변수의 초기화
#include <iostream>
struct Man {
int age; //멤버
double weight;
};
int main()
{
struct Man kang = {20, 48.5}; //초기값
std::cout << kang.age << " " << kang.weight << std::endl;
kang.age = 21;
kang.weight = 50.2;
std::cout << kang.age << " " << kang.weight << std::endl;
}
구조체 변수의 대입
#include <iostream>
struct Man {
int age; //멤버
double weight;
};
int main()
{
struct Man kang = { 20, 48.5 }, kang1;
kang1 = kang; //대입하면 멤버들이 모두 복사된다.
std::cout << kang1.age << " " << kang1.weight << std::endl;
std::cout << kang.age << " " << kang.weight << std::endl;
kang.age = 21;
kang.weight = 50.2;
std::cout << kang.age << " " << kang.weight << std::endl;
}
728x90