728x90
#include <iostream>
using namespace std;
class People {
private:
int age;
string name;
public:
// 생성자를 아래처럼 쓴다면 기본생성자처럼 매개변수 없는 경우에도 초기화된다.
// 방법: 매개변수 이름 오른쪽에 값 지정해줌
// 이렇게 사용할 경우 왼쪽부터 초기화 된다.(main()의 copyAge 참고)
People(int age = 0, string name = "empty") {
this->age = age;
this->name = name;
}
void print() { cout << this->age << ", " << this->name << '\n'; }
};
int main() {
People empty; // 기본생성자 호출 초기화
People h(26, "이름1"); // 매개변수 넘겨서 초기화(직접초기화 방식) int a(5);와 같음
People d {26, "이름2"}; // 매개변수 넘겨서 초기화(유니폼 초기화 방식) int a{5};와 같음
People copy = People(66, "copy"); // 클래스 대입 연산자(=)이용 복사 초기화 int a = 5;와 같음
People copyAge = 99; // 이런 경우 왼쪽부터 초기화 된다.
empty.print();
h.print();
d.print();
copy.print();
copyAge.print();
return 0;
}
728x90
'개발 > C, C++' 카테고리의 다른 글
[C++] 입력받기(cin, get, getline) (0) | 2022.04.18 |
---|---|
[C++] 배열 최대값, 최소값 구하기 (0) | 2022.04.18 |
[C++] 배열 정렬하기 (0) | 2022.04.18 |
온라인저지(백준) 문제 풀이 시 주의사항 (0) | 2022.04.08 |
[C++] 알고리즘 문제 해결 시 입출력 시간 단축 (0) | 2022.04.04 |