1. 클래스의 상속
클래스 추가에서 아래 기본 클래스에 클래스를 넣어 간단하게 상속 가능!
2-1.상속 선언.
Test02.h
#pragma once
#include "Test01.h" // 부모클래스인 Test01을 #include로 선언
class Test02 : public Test01 // : public Test01 이 문장으로 상속 완료
{
public :
};
1. 아무것도 하지 않음
2-2
Test02.cpp
#include "Test02.h"
1. 아무것도 넣지 않았다.
2-3
main
#include<iostream>
#inlcude"Test02.h" // 부모클래스인 01는 선언할 필요 없음
void main()
{
Test02 t;
}
1. Test02의 객체를 선언. Test02엔 아무것도 넣지 않았지만
2. 자식 클래스가 나오면서 부모클래스도 참조하기 때문에
3. 부모클래스인 Test01엔 생성자와 소멸자가 있고
4. 생성자 소멸자 각각에 std::cout << "Hi!"; , std::cout << "Bye!";
5. 생성자 소멸자가 실행되면서 Hi!Bye! 가 출력됨.
3.오버로딩 , 오버라이딩
Class Test01
{
public:
void test01();
};
Class Test02 : public Test01
{
public:
void test02(); //이것과
void test02(int i); //이것은 이름은 같지만 매개변수가 다른데 이걸 오버로드 라고 함.
void test02(int a); //매개변수 이름이 다르지만 위에것과 이건 오버로드가 아니라고 함.
virtual void test01(); // 이게 오버라이드 라고 함
};
1.오버로딩 : 같은 이름의 멤버함수 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술
2.오버라이딩 : 부모 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 기술
대충 부모 클래스가 가진것을 쓰지 않고 이걸 쓰겠다! 라고 하는 느낌
'C++' 카테고리의 다른 글
14.템플릿(template) (0) | 2021.05.24 |
---|---|
13.getter, setter (0) | 2021.05.23 |
11. 클래스, 접근제어자 ,생성자 소멸자 (0) | 2021.05.20 |
10. 문자열 함수 (0) | 2021.05.20 |
9. (간단한)포인터 (0) | 2021.05.20 |