검색결과 리스트
글
상속과 클래스 관계
- 기본(base) 클래스의 속성을 물려 받는 것
base class <-> derived class
base class: 기본 클래스
멤버
-private
-protected
-publie
derived class: 드라이브드 클래서 =파생 클래스
-기능적인 면
기본 클래스<파생 클래스
- 파생 클래스는 기본 클래스의 protected, public멤버 사용 가능
참고 사항
-기본 클래스에 대한 관례적인 명칭
super class:최상위 클래스 , parent class:부모 클래스
-파생 클래스에 대한 관례적인 몇칭
sub class:하위 및 최하위 클래스, chaild class:자식 클래스
[형식1] 단일 상속 [접근지정자]:private,protected,public
class Derived:[접근지정자]Base {
//member list
};
class A {..};
class B : public A {};
[형식2] 다중 상속 [접근지정자]:private,protected,public
class Derived:[접근지정자] Base1,[접근지정자] Base2 { };
{
//member list
};
class A { };
class B { };
class C : public A ,protected B { };
상속: 기존의 과념 -> 기존에 정의해 놓은 클래스의 재활용을 목적으로 만들어진 문법적 요소
새로운 관점으로 상속을 보자!
파생 클래스에서 기본 클래스에 대한 접근 권한
- private 상속
* private 멤버 : 사용 불가
* protected : private로 사용
* public : private로 사용
부모 클래스 상위 클래스 기본 클래스 |
자식 클래스 하위 클래스 파생 클래스 |
|
* private 멤버 * protected *public |
사용 불가 private로 사용 private로 사용 |
|
|
|
|
예제
private:
void ShowPrivateA(){cout<<"A private"<<endl;}
protected:
void ShowProtectedA(){cout<<"A protected"<<endl;}
public:
void ShowPublicA(){cout<<"A public"<<endl;}
};
class B:private A
{
public:
void Show(){
// ShowPrivateA(); 사용 불가
ShowProtectedA(); 사용 가능
ShowPublic(); 사용 가능
}
};
int main(){
B Test;
Test.Show();
return 0;
}
- protected 상속
* private 멤버 : 사용 불가
* protected : protected로 사용
* public : protected로 사용
- public 상속
* private 멤버 : private로 사용
* protected : protected로 사용
* public : protected로 사용
예제
'…™업무일지。 > …™C++。' 카테고리의 다른 글
가상시리얼포트 (0) | 2014.10.17 |
---|---|
※생성자(Constructor) 및 오버로딩(Overloading) (0) | 2014.10.16 |
※const static 멤버 (0) | 2014.10.15 |
※인라인(inline) 함수 -작업중- (0) | 2014.10.15 |
※함수인자 디폴트 (0) | 2014.10.15 |
RECENT COMMENT