다중상속을 단일 상속으로 바꾸라는데 이코드가 맞는지 잘 모르겠습니다.
꽃짱구
#include iostream
#include string
using namespace std;
// 학생부 클래스
class UnderGradStudent
{
public:
string name; //이름
string department; //학부
};
//기숙사생 클래스
class DormStudent: public UnderGradStudent
{
public:
string building; // 기숙사명
int roomNumber; // 방번호
};
// 기숙사생이면서 학부생인 경우
class UnderGrad_DormStudent :
public DormStudent
{
public:
};
int main()
{
// 기숙사생이면서 학부생인 사람의 정보 생성
UnderGrad_DormStudent std;
std.name = Hyun C. Lee;
std.department = Info & Computer Engineering;
std.building = NamJeKwan;
std.roomNumber = 1529;
cout 이름 = std.name , 학부 = std.department;
cout , 기숙사명 = std.building , 방번호 = std.roomNumber \n;
return 0;
}
위의 소스는 단일 상속으로 바꿔본것이고
아래의 소스는 다중 상속의 예입니다.
#include iostream
#include string
using namespace std;
// 학생부 클래스
class UnderGradStudent
{
public:
string name; //이름
string department; //학부
};
//기숙사생 클래스
class DormStudent
{
public:
string building; // 기숙사명
int roomNumber; // 방번호
};
// 기숙사생이면서 학부생인 경우
class UnderGrad_DormStudent :
public UnderGradStudent
public DormStudent
{
public:
};
int main()
{
// 기숙사생이면서 학부생인 사람의 정보 생성
UnderGrad_DormStudent std;
std.name = Hyun C. Lee;
std.department = Info & Computer Engineering;
std.building = NamJeKwan;
std.roomNumber = 1529;
cout 이름 = std.name , 학부 = std.department;
cout , 기숙사명 = std.building , 방번호 = std.roomNumber \n;
return 0;
}
이곳에서 바꾼것은 보시는 바와 같이 가장 간단하게 바꾼것입니다.
다중상속은 두개의 클래스를 한개의 자식이 포함한것을 다중이라고 한다고 알고 있습니다.
그럼 단일상속은 한개의 클래스를 한개의 자식이 포함한것이라고 생각합니다.
그렇다면 위에 소스에서 보듯이 학생부 클래스를 기숙사생 자식이 받고 다시 기숙사생 클래스를
최종 자식이 받는 식으로 된다고 생각하는데 위의 코드가 맞는지 검토좀 해주세요.