728x90
반응형
*두 클래스이상으로 부터 상속받는 클래스 (다중상속)
K5차를 구현할때 car클래스의 속성과 오디오의 속성을 동시에 물려받는 클래스를 만들어 보자
자바의 경우에는 하나의 객체는 하나로부터의 상속을 허용하지만 c++은 다중상속을 허용한다
먼저 audio 클래스를 만들자
class audio 다음 K5클래스에 car와 audio클래스를 동시에 상속하자 class K5: car ,audio 실행해보면 (k5객체를 만들면 ) 부모 클래스를 적어준 순서대로 생성자가 불림을 알 수 있다 - 객체 생성의 순서가 나중에 문제가 생기는 원인이 되기도 함 *다중상속시 인자있는 부모생성자를 부르는 방법 K5() : car(3,"kia"),audio("jbl"); 자식 생성자옆에 인자있는 부모생성자를 적어준다 *UML 상속관계를 나타내는 UML을 그릴때 상속받은 자식과 상속한 부모사이는 화살표로 나타낸다 car <- k5 다중상속에 대한 UML *부모의 public멤버변수를 main에서 구현한 자식객체에서 접근하기 다음과 같이 코딩하면 멤버변수c때문에 에러가 난다 그 이유는 k5는 상속은 받았지만 그 상속받은 멤버변수 c에 대한 아무런 언급이 없었기때문에 c를 private로 생각하고 접근불가하다고 생각해서 에러를 낸 것이다
class K5: public car,audio //단 audio는 접근 권한이 그대로 private이다 |
*자식 클래스에서 부모클래스의 오버로딩된 함수 부르기
동일한 이름의 함수가 부모클래스에도 존재하면 인자에 상관없이 자식 클래스의 함수가 불리게 되어 있다
따라서 다음과 같이 부모클래스의 함수를 부르기 위해서는 부모클래스의 이름과 스코프연산자를 사용해서 불러줘야 한다 (단 부모클래스의 상속시 접근권한을 public으로 설정해 줘야 함)
|
728x90
'코스웨어 > 11년 내장형하드웨어' 카테고리의 다른 글
[내장형]윤수영 - 11월21일 일일보고서 (7) | 2011.11.21 |
---|---|
[내장형]최남식-2011년 11월18일 일일보고서 (8) | 2011.11.18 |
[내장형]김수만 111116 (7) | 2011.11.17 |
[내장형]이상만 111115 C++ 수업정리 (6) | 2011.11.15 |
[내장형]이영진_2011년 11월 11일_일일보고서 (7) | 2011.11.11 |
[내장형]백길남_2011년 11월 10일_일일보고서 (7) | 2011.11.10 |
[내장형]박춘우_2011년 11월 9일 수요일 DailyReport (8) | 2011.11.09 |
[내장형]한원우_11월8일 실습보고서 (7) | 2011.11.09 |