[c++_10,11 상속 ]

·2022년 8월 22일
0

C++_Study

목록 보기
19/25

#220822

#10-7. 형변환함수

#10-8. 연산자 중첩의 제약과 주의사항

  • 모든 연산자가 중첩이 될 수 있는것은 아니다.
  • 중첩이 안되는 연산자 (. .* :: ?: sizeof)

#11-1. 상속(코드 재사용) 기본 개념실습

class A                 //기본 클래스, 부모 클래스
{
    private:
        void a1() {std::cout << "a1\n";}
        void a2() {std::cout << "a2\n";}
    public:
        void b1() {std::cout << "b1\n";}
        void b2() {std::cout << "b2\n";}
        void b3() {std::cout << "b3\n";}
        void b4() {std::cout << "b4\n";}
}; 
// <상속> 왼 자식, 오 부모/ 상속을 받더라도 private는 상속이 안됨. 
class B: public A{  
};
//class B : public A { }; //파생클래스, 자식클래스

int main()
{
    B bb;
    bb.b1();
    bb.b4();
    return 0;
}

#11-2. 상속의 기본 개념

#11-3. 기본(base, super) 클래스와 파생(derived,sub) 클래스

  • class 파생클래스명: 상속접근제어 기본클래스명 {};
// Dog: 파생 클래스명, public: 상속접근제어, Animal: 기본클래스명
class Dog: public Animal {
]};

#11-4. 상속 방법 3가지

#11-5. public으로 상속하는 방법

// 왼 자식, 우 부모
class Dog: public Animal{
    private: 
        char x;
    protected:
        // char b;   보이진 않지만 상속되어 있음
        char y;
    public: 
        char z;
        // double c; 보이진 않지만 상속되어 있음 
};
//부모 클래스
class Animal{
    private: 
        int a;      //상속 불가
    protected:
        char b;     //protectd으로 
    public: 
        double c;   //public으로
}
//자식 클래스
class Dog{
    private: 
        char x;
    protected:
        char y;
    public:
        char z;
}

  • 상속이 다 되는것은 아니다
    private 멤버는 외부에서 접근, 상속 불가하다.
//상속 접근제어로 상속1
class A                        //기본 클래스
{
    int x;                     // 안적혀있다면 private 속성, 상속 안댐
    public: 
        void setX(int i){x=i;}
        void showX(){std::cout << x << std::endl;}
};
// A로부터 상속받은 B
class B:public A               //파생 클래스
{
    int y; 
    public: 
        void setY(int i){y=i;}
        void showY(){std::cout << y << std::endl;}
};

int main() 
{
    B bb;
    bb.setX(1);
    bb.setY(2);
    
    // x,y는 private 멤버라 바로 접근은 안됨 
    // bb.x=1; 은 접근 x   bb.y=2; 은 접근 x   
    
    bb.showX(); // 기본클래스의 멤버접근
    bb.showY(); // 파생클래스의 멤버접근
    return 0;
}
profile
Hakuna Matata

0개의 댓글

관련 채용 정보