C++가상함수 다중상속 부분 질문이요~급해용 ㅠ.ㅠ

haedal의 이미지

1.다음 클래스군의 계층도를 그리고, 이 클래스 군에 있는 추상클래스를 모두 골라주세요.
class base1
{
virtual void a () = 0;
virtual void b () {};
};

class base2
{
virtual void c () = 0;
};

class dev1 : virtual public base1, protected base2
{
void b () {}
};
class dev2 : virtual public base1
{
void a () {}
};

class dev3 : public dev1, public dev2
{
void a () {}
void c () {}
};
class dev4 : virtual public base1, public dev3
{
void d () {}
virtual void e () = 0;
};
class dev5 : public dev4
{
void e () {}
};

2.다음함수f에서 b로 넘겨진 인스턴스가 dev1일 경우에는 "dev1"출력, dev2인 경우엔 "dev2"를, base의 것의 경우에는 "base"를 출력하게끔 해주세요.

class base{};

class dev1 : public base{};

class dev2 : public base{};

void f ( base &b}
{
// A
}

3. 다음 함수 f는 인자의 실제 타입이 dev2인 경우에 에러가 발생합니다. 이 함수를 에러가 발생하지 않도록 수정해주세요.

class base
{
public :
virtual void f()=0;
};

class dev1 : public base
{
public :
void g() {}
void f() {}
};

class dev2 : public base
{
public :
virtual void f();
};

void g ( base &b )
{
b.f();
dev1 *pd1 = static_cast< dev1 * > ( &b );
pd1->g();
}

kewlbear의 이미지

숙제는 스스로

s4bz의 이미지

참고로

추상클래스는 순수가상함수가 하나라도 들어있는것-_-;;

추상클래스는 객체화 불가능;;

이 두가지만 기억하면 숙제가 가능하지 않을까요??

아~~

theone3의 이미지

선생님 혹은 교수님 혹은 조교님 혹은 친구, 선 후배 들어와서 보지 않을까요?

당신은 사랑받기 위해 태어난 사람.

chadr의 이미지

음.. 질문이라고 해서 들어와봤더니.. 왠 문제가-_-);;
개그 맞죠?
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

IDNed의 이미지

KLDP는 숙제 해결해주는 곳이 아닙니다.

Naver KIN도 숙제 안오르기를 하는 마음이 있지만 절대 안되더군요 -_-