728x90
반응형
2023.02.20 최초 작성
생성자도 메서드 (함수)이므로 오버로딩 (중복사용)이 가능하다.
#include <iostream>
using namespace std;
class Student {
private:
// 인스턴스 변수 선언
int kor;
int eng;
int math;
public:
Student(int kor, int eng, int math)
{
cout << "Student(int kor, int eng, int math) 생성자 실행" << endl;
this->kor = kor;
this->eng = eng;
this->math = math;
}
Student(int kor, int eng) : Student(kor, eng, 0)
{
cout << "Student(int kor, int eng) 생성자 실행" << endl;
}
Student(int kor) : Student(kor, 0)
{
cout << "Student(int kor) 생성자 실행" << endl;
}
Student() : Student(0)
{
cout << "Student() 생성자 실행" << endl;
}
~Student() {
cout << "Student 소멸자 실행" << endl;
}
void printData() {
cout << "국어 점수 : " << kor << endl;
cout << "영어 점수 : " << eng << endl;
cout << "수학 점수 : " << math << endl;
}
};
int main() {
cout << "main 시작" << endl;
Student s1;
s1.printData();
cout << "main 종료" << endl;
return EXIT_SUCCESS;
}
[실행 화면]
main 시작
Student(int kor, int eng, int math) 생성자 실행
Student(int kor, int eng) 생성자 실행
Student(int kor) 생성자 실행
Student() 생성자 실행
국어 점수 : 0
영어 점수 : 0
수학 점수 : 0
main 종료
Student 소멸자 실행
728x90
반응형
728x90
반응형
'프로그래밍 > C++' 카테고리의 다른 글
static 수명이 길다 (0) | 2023.02.21 |
---|---|
구조체도 클래스이다. (0) | 2023.02.20 |
클래스와 객체 (0) | 2023.02.19 |
구조체와 포인터 활용 (0) | 2023.02.19 |
인라인 함수 (0) | 2023.02.17 |