다음과 같은 상속, has a 관계가 가능한가요? c++
aa.cpp
#include "aa.h"
aa::aa(void)
{
}
aa::~aa(void)
{
}
-----------------------------
aa.h
#pragma once
#include "bb.h"
class aa
{
public:
aa(void);
~bb(void);
void print1();
};
-------------------------
bb.cpp
#include "bb.h"
bb::bb(void)
{
}
bb::~bb(void)
{
}
-------------------------
bb.h
#pragma once
#include "aa.h"
class aa;
class bb
{
public:
aa *aa1;
bb(void);
~bb(void);
void print();
};
이렇게 되어있는데 aa가 bb를 상속하고 bb는 멤버로 aa를 가지고 있으려고 합니다.
bb가 aa를 가져서
bb b1;
b1.aa1->print1();
과 같은 식으로 aa의 멤버변수를 불러 올 수 있습니다.
여기서 aa가 bb를 상속받아서
class aa:public bb{}
bb.aa1->print();
를 할 수 있나요?
class aa 를 class aa:public bb로 바꿔주면
'bb' : 기본 클래스를 정의하지 않았습니다.
가 나옵니다.
해결했습니다.
실행은 되는데 에상대로 무한생성하다가 오버플로우 뜨네요...
댓글 달기